我已经处理这个问题有一段时间了。 我认为一切都是对的,但它一直告诉我们查询有问题,实际上就是这样。但我实在找不到。
代码如下:
<?php
function query_check ($query)
{
if(!$query)
{
die ("Database query failed");
}
}
function Create($Name,$Last_Name,$Number)
{
global $conncetion;
$S_Name=mysqli_real_escape_string($conncetion,$Name);
$S_Last_Name=mysqli_real_escape_string($conncetion,$Last_Name);
$S_Number=mysqli_real_escape_string($conncetion,$Number);
$query="INSERT INTO phone_book.info (first_name,last_name,phone_number)
VALUES ({$S_Name},{$S_Last_Name},{$S_Number}); ";
$result=mysqli_query($conncetion,$query);
query_check($result);
}
//Delete
function Del($Name,$Last_Name,$Number)
{
global $conncetion;
$S_Name=mysqli_real_escape_string($conncetion,$Name);
$S_Last_Name=mysqli_real_escape_string($conncetion,$Last_Name);
$S_Number=mysqli_real_escape_string($conncetion,$Number);
$query="DELETE FROM ";
$query.="phone_book.info WHERE first_name={$S_Name} OR last_name={$S_Last_Name} OR phone_number={$S_Number}";
$result=mysqli_query($conncetion,$query);
query_check($result);
}
function Search($Name,$Last_Name,$Number)
{
global $conncetion;
$S_Name=mysqli_real_escape_string($conncetion,$Name);
$S_Last_Name=mysqli_real_escape_string($conncetion,$Last_Name);
$S_Number=mysqli_real_escape_string($conncetion,$Number);
$query="select * from info where first_name={$S_Name} or last_name={$S_Last_Name} or phone_number={$S_Number}";
$result=mysqli_query($conncetion, $query);
query_check($result);
if($search=mysqli_fetch_assoc($result))
{
return $search["first_name"];
return $search["last_name"];
return $search["phone_number"];
} else
{
return "No such information was found";
}
}
?>
希望您能帮我解决问题。
最佳答案
在您的 Sql 中,您插入了我假设的许多字符串值,但其中没有一个被引用,因此 Sql 将尝试将它们作为整数插入。
例如:
$query="INSERT INTO phone_book.info (first_name,last_name,phone_number) VALUES ({$S_Name},{$S_Last_Name},{$S_Number}); ";
应如下所示:
$query="INSERT INTO phone_book.info (first_name,last_name,phone_number) VALUES ('{$S_Name}','{$S_Last_Name}','{$S_Number}'); ";
您的删除和选择语句也有完全相同的问题。
关于php - 为什么我无法使用 php 访问 mysql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45045805/