【发布时间】:2014-01-15 21:02:00
【问题描述】:
现在,我正在失去耐心哈哈:D
问题是,无论我尝试什么,我都无法解决问题。
在我的 php 代码中,我成功连接到数据库,通过 ajax 将 $_POST 变量发送给它,
毕竟,我存储在 $result 中:
$result = $q->fetchAll(PDO::FETCH_OBJ);
但是当我调用 print_r 之后:
print_r($result);
总是但总是我得到“Array()”。
1000 次更改后,尝试了所有可能性,但没有任何东西能够从表中获取数据。
可能出了什么问题?
代码如下:
<?php
$mov = (isset($_POST['movie'])) ? $_POST['movie'] : null;
if ($mov != null)
{
$conn = new PDO('mysql:host=127.0.0.1;dbname=workstation', 'root', 'password');
$q = $conn->prepare("SELECT * FROM movies WHERE name LIKE '%:mov%'");
$q->bindValue(':mov', $mov, PDO::PARAM_STR);
$q->execute();
$r = $q->fetchAll(PDO::FETCH_OBJ);
$c = $q->rowCount();
print_r($r);
echo $c;
/*
* $name = $r[$key]->name; // in foreach loop for all found...
* there should be returned
* $res .= '<div>'.$name.'</div>'
*/
}
else
{
$result = 'Type query...';
}
echo $result;
【问题讨论】:
-
你能告诉我们sql查询本身吗?
-
可能是一个空的查询结果集?
-
哦,我忘了提到 echo $c = $query->rowsCount() 返回值 1,所以它不是空的,执行的查询是:“SELECT * FROM movies WHERE name喜欢'$mov'"
-
@Floris: 在一个 empty 数组上?!
-
如果您省略查询的
WHERE部分会发生什么?哦 - 我真的希望您使用比toot更强大的用户来测试您的代码...