尝试从MySQL数据库中提取数据时出现以下错误:
警告:mysql_query()期望参数1为字符串,资源为
我已经尝试了很多修改来解决问题,但我真的只是猜测问题是什么。
这是我的代码:
// Create connection
$conn = mysql_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysql_connect_error());
}
$sql = "SELECT * FROM doginfo WHERE breed='$dog'";
$result = mysql_query($conn, $sql);
if (mysql_num_rows($result) > 0) {
// output data of each row
while($row = mysql_fetch_assoc($result)) {
echo nl2br("Breed: " . $row["breed"] . "\n" . "Size: " . $row["size"] . "\n" . "Height: " . $row["height"] . "\n" "Weight: " . "\n" . $row["weight"] . "\n" . "Life Expectancy: " . $row["life"] . "\n");
}
} else {
echo "No results found!";
}
mysql_close($conn);
答案 0 :(得分:0)
对于mysql_query()
,第一个参数是一个字符串,其中包含要执行的query
,而不是连接。该连接用作较新且强烈推荐的mysqli_query()
中的第一个参数。
适用于mysql_query()
:
mixed mysql_query ( string $query [, resource $link_identifier = NULL ] )
适用于mysqli_query()
:
mixed mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )
弃用通知:
强烈建议您停止使用mysql_*
函数,以支持mysqli_*
或PDO
函数。 mysql_*
函数已被弃用,部分原因是它们的SQL注入漏洞。强烈建议您升级到其中一个较新的扩展程序并使用prepared statements来更好地保护您的Web应用程序。