错误:调用未定义的函数 mysql_query() [重复]
Posted
技术标签:
【中文标题】错误:调用未定义的函数 mysql_query() [重复]【英文标题】:Error: Call to undefined function mysql_query() [duplicate] 【发布时间】:2019-05-07 20:44:31 【问题描述】:有什么问题?
我想显示数据库中的数据,但代码有问题
好的,那我该如何解决呢?
<?php
if (isset($_GET['id']))
include('database_connection.php');
$id = preg_replace('#[^0-9]#i', '', $_GET['id']);
$sql = mysql_query("SELECT * FROM shoes WHERE id='$id' LIMIT 1");
$productCount = mysql_num_rows($sql);
if ($productCount > 0)
while($row = mysql_fetch_array($sql))
$model_name = $row["model_name"];
$price = $row["price"];
$brand = $row["brand"];
$color = $row["color"];
$type = $row["type"];
else
echo "That item does not exist.";
exit();
else
echo "Data to render this page is missing.";
exit();
mysql_close();
?>
【问题讨论】:
在 PHP 7 中删除了ext/mysql
相关函数。在将应用程序迁移到适当的函数时,您需要使用ext/mysqli
或PDO_MYSQL
或以其他方式使用shim
。
【参考方案1】:
mysql 在 PHP 5.5.0 中被弃用,并在 PHP 7.0.0 中被删除。
所以改用mysqli
$sql = mysqli_query($db_connection, "SELECT * FROM shoes WHERE id='$id' LIMIT 1");
$productCount = mysqli_num_rows($sql);
if ($productCount > 0)
while($row = mysqli_fetch_array($sql))
$model_name = $row["model_name"];
$price = $row["price"];
$brand = $row["brand"];
$color = $row["color"];
$type = $row["type"];
【讨论】:
谢谢,但它不起作用 :( 警告:mysqli_query() 需要至少 2 个参数,第 5 行的 D:\XAAMP\htdocs\ict\single.php 中给出 1 个警告:mysqli_num_rows( ) 期望参数 1 为 mysqli_result,在第 6 行的 D:\XAAMP\htdocs\ict\single.php 中给出 null 我能做什么??? 这里值得添加一个prepare()
调用来处理讨厌的SQL injection bug。
tadman 是正确的。我还为您编辑了我的代码示例以包含 $db_connection以上是关于错误:调用未定义的函数 mysql_query() [重复]的主要内容,如果未能解决你的问题,请参考以下文章