我试图从mysql表中选择数据,但收到以下错误消息之一:
mysql\u fetch\u array()期望参数1是资源,给定布尔值
这是我的密码:
$username = $_POST['username'];
$password = $_POST['password'];
$result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username');
while($row = mysql_fetch_array($result)) {
echo $row['FirstName'];
}
24条答案
按热度按时间xwbd5t1u16#
如果您在这里尝试了所有方法,但都不起作用,那么您可能需要检查mysql数据库排序规则。我的被设定为瑞典的校勘。然后我把它改成了
utf8_general_ci
一切都很顺利。uujelgoq17#
试试这个,它必须是工作的,否则你需要打印错误来指定你的问题
ltskdhd118#
可能有两个原因:
在调用mysql\u查询函数之前,您是否打开了与数据库的连接?我在你的代码里看不到。在进行查询之前使用mysql\u connect。看到了吗
php.net/manual/en/function.mysql-connect.php
变量$username在单引号字符串中使用,因此不会在查询中计算其值。查询肯定会失败。第三,查询结构易于sql注入。您可以使用事先准备好的声明来避免这种安全威胁。
mm9b1k5b19#
在运行查询之前,请确保没有使用db\u close()关闭数据库:
如果在脚本中使用多个查询,甚至包括包含查询或数据库连接的其他页面,那么
ndasle7k20#
在mysql查询之前包含一个连接字符串变量。例如,
$connt
在本规范中:htzpubme21#
试试这个
qzwqbdag22#
不使用where查询,您可以按查询顺序使用此查询。对于查询的使用,它比这个好得多。
我做了这个查询,没有得到像参数或布尔值这样的错误。
o4hqfura23#
如果有一个用户名是唯一的,你可以用“=”来表示。没有必要喜欢。
您的查询将是:
6yt4nkrj24#