php - MySQL 语法错误显示 "near ' 1'"但我的查询中没有 '1'

标签 php mysql

我第一次使用 PHP 和 MySQL 数据库创建一个网站,并收到一个我不明白的语法错误。我只想删除 tblreparation 中的所有内容具有一定的ID以及 rblrepstat 中的所有内容与此相同ID 。我正在使用这段代码:

<?php
    $con=mysqli_connect("localhost","root","MYPASS","repair");
    $ID = $_REQUEST['ID'];
    $sql = mysqli_query($con, "DELETE FROM tblreparation WHERE ID = {$ID}");
    if (!mysqli_query($con,$sql)) {
      die('Error: ' . mysqli_error($con));
    }
    $sql = mysqli_query($con, "DELETE FROM tblrepstat WHERE repID = {$ID}");
    if (!mysqli_query($con,$sql)) {
      die('Error2: ' . mysqli_error($con));
    }
    echo "1 record deleted";
    mysqli_close($con); 
?>

这是我收到的错误:

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1

接近 1?我什至没有看到“1”...

最佳答案

您为每个查询调用 mysqli_query 两次。

第二次调用它时,您实际上将资源作为查询参数传递,这会导致您收到错误。

尝试将代码更改为:

<?php
    $con=mysqli_connect("localhost","root","MYPASS","repair");
    $ID = $_REQUEST['ID'];
    $sql = "DELETE FROM tblreparation WHERE ID = {$ID}";
    if (!mysqli_query($con,$sql)) {
      die('Error: ' . mysqli_error($con));
    }
    $sql = "DELETE FROM tblrepstat WHERE repID = {$ID}";
    if (!mysqli_query($con,$sql)) {
      die('Error2: ' . mysqli_error($con));
    }
    echo "1 record deleted";
    mysqli_close($con); 
?>

关于php - MySQL 语法错误显示 "near ' 1'"但我的查询中没有 '1',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26471015/

相关文章:

php - 我可以在 PHP 中混合使用 MySQL API 吗?

PHP session 不工作

php - 将多个站点文件合并到一个位置

php - 使用 Bcrypt 密码验证登录

Mysql != 与 <> 比较

c# - 无法使用 MySQL-Front 连接 MySQL 主机

php - 我的脚本运行良好,但我对为什么必须使用 utf8_decode() 感到困惑

php - 在 PHP 中给定周末和无工作日,选择具有非空值的最新日期

mysql - GREATEST() 和 LEAST() 函数不能在 MySQL 5.7 的存储过程中使用 TIME 变量

java - jdbc何时填写为executeBatch()编写的准备语句的 '?'