php - 为什么我无法使用 php 访问 mysql?

标签 php mysql sql web

我已经处理这个问题有一段时间了。 我认为一切都是对的,但它一直告诉我们查询有问题,实际上就是这样。但我实在找不到。

代码如下:

<?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/

相关文章:

mysql - SQL - OuterApply 和 Left Join

mysql - 创建一个对另一个表执行更新的触发器

php - 如何使用 PHP 处理表单输入的动态数量?

PHP 从数组中删除元素无法正常工作

php - mySQL - 增加页面浏览量的更快方法?

java - 是否可以确定哪些行受到 SQL Server UPDATE 的影响?

php - 扩展 PHP 应用程序

php - 更新两个 mysql 列

mysql - 将 SQL 数据插入 VB 数据库

mysql - Magento 升级时出错