Php mysql_fetch_array()期望参数1为给定的资源空值
我不明白为什么我老是犯这个错误。这是我的密码。我试过换东西,但运气不好。我从我的书中得到了代码,所以我希望它能起作用,但事实并非总是如此 警告:mysql_fetch_array()希望参数1为resource,在第16行的C:\xampp\htdocs\CIS224\Company_Cars.php中为空Php mysql_fetch_array()期望参数1为给定的资源空值,php,mysql,Php,Mysql,我不明白为什么我老是犯这个错误。这是我的密码。我试过换东西,但运气不好。我从我的书中得到了代码,所以我希望它能起作用,但事实并非总是如此 警告:mysql_fetch_array()希望参数1为resource,在第16行的C:\xampp\htdocs\CIS224\Company_Cars.php中为空 <!DOCTYPE hmtl PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xh
<!DOCTYPE hmtl PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Create Database</title>
</head>
<body>
<?php
$SQLstring = "SELECT * FROM company_cars";
$QueryResult = @mysql_query($SQLstring, $DBConnect);
echo "<table width ='100%' border='1'\n";
echo "<tr><th>License</th><th>Make</th><th>Model</th><th>Mileage</th><th>Year</th></tr>\n";
while ($Row = mysqli_fetch_array($result) !== FALSE) {
echo "<tr><td>{$Row[0]}</td>";
echo "<td>{$Row[1]}</td>";
echo "<td>{$Row[2]}</td>";
echo "<td align='right'>{$Row[3]}</td>";
echo "<td>{$Row[4]}</td></tr>\n";
}
echo "</table>\n";
?>
</body>
</html>
创建数据库
删除mysql_query()
中的@
,然后重试..您似乎忘记连接数据库了。试一试
$DBConnect = mysql_connect('host', 'user', 'pass');
$db = mysql_select_db('dbname');
另外,您正在调用mysqli\u fetch\u array
,它应该是mysql\u fetch\u array
:
while ($Row = mysqli_fetch_array($QueryResult) !== FALSE) {
// ^ remove ^ also this!!!
除非您实际使用的是mysqli.*
,否则在这种情况下,查询调用是错误的。您还传递了错误的变量,结果是$QueryResult
而不是$result
你真的应该抛弃mysql,学习PDO或MySQLi。你为什么在mysql查询中使用@
,它返回true或false
$QueryResult = mysql_query($SQLstring, $DBConnect);
像我在代码中所做的那样,删除@
。它会起作用的
您的mysql\u fetch\u array
函数中还有另一个问题:
while ($Row = mysql_fetch_array($QueryResult))
使用上述代码而不是while代码
始终在while循环中使用PDO Mysql更改
while ($Row = mysqli_fetch_array($QueryResult) !== FALSE) {
替换
($result) to ($QueryResult)
停止对初学者使用@
。然后开始使用mysql\u error()
找出问题所在。除非你是一个刺穿黑暗的粉丝,但别问我们。再一次:因为他们不赞成。使用或。您正在混合使用mysql
和mysqli
命令。对于mysqli
和PDO
来说,这两个选项是不可互换的…+1。。。