可能重复:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in select
这里的简单问题。
我有一个SELECT查询
SELECT FROM friendzone WHERE ID = '$editID'"
我确信这只会给我一行,因为我的数据库中的ID不能重复。
如何访问列值?
$row = mysql_fetch_array($query);
我认为这没用,因为我不需要制作任何数组..我只有一行!
如果我没有将它放入“静止”中,并尝试做到这一点。
.$row['ID'].
我明白了:
mysql_fetch_array() expects parameter 1 to be resource, boolean given
先谢谢大家。
答案 0 :(得分:11)
Please, don't use
mysql_*
functions in new code。它们不再被维护了 deprecation process已经开始了。见 red box?请转而了解prepared statements,然后使用 PDO或MySQLi - this article会帮助您确定哪个。如果你选择 PDO,here is a good tutorial。
尝试:
$query = mysql_query("SELECT * FROM friendzone WHERE ID = '$editID'");
$row = mysql_fetch_array($query);
print_r($row);
MySQLi代码:
$conn = new mysqli('host', 'username', 'password', 'database');
$stmt = $conn->prepare("SELECT * FROM friendzone WHERE ID = ?");
$stmt->bind_param("s", $editID);
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_assoc();
print_r($row);
答案 1 :(得分:2)
可能您的$query
等于false
因为出了问题,请尝试mysql_error()
查看错误。
还有2个小建议:
最好使用PDO
od mysqli
,因为不推荐使用mysql_ *函数。
在将值放入SQL字符串之前至少使用mysql_real_escape_string()
来转义值
答案 2 :(得分:0)
由于我不知道您尝试选择哪些列,因此选择的一般语法是
"SELECT column1, column2, column3 FROM friendzone WHERE ID ='$editID'"
或者如果您想选择所有列,只需输入
即可"SELECT * FROM friendzone WHERE ID = '$editID'"