Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 更新查询不';行不通_Php_Mysql_Database - Fatal编程技术网

Php 更新查询不';行不通

Php 更新查询不';行不通,php,mysql,database,Php,Mysql,Database,今天我在PHP方面遇到了一个大问题。我正在尝试更新MySQL数据库上的一行。最大的问题是,如果我直接在phpMyAdmin中插入,而不是在我的PHP脚本中插入,则查询可以工作 按照我的查询(这是$sqlQuery的值): 在我的脚本中,我创建了一个循环来生成“SET”和“WHERE”之间的代码,因为它来自数组 另外,在您询问我连接是否已打开之前,我已使用此代码(以下)进行检查并返回“已打开”: 运行查询的脚本: if (mysql_query($sqlQuery, $conn->conne

今天我在PHP方面遇到了一个大问题。我正在尝试更新MySQL数据库上的一行。最大的问题是,如果我直接在phpMyAdmin中插入,而不是在我的PHP脚本中插入,则查询可以工作

按照我的查询(这是$sqlQuery的值):

在我的脚本中,我创建了一个循环来生成“SET”和“WHERE”之间的代码,因为它来自数组

另外,在您询问我连接是否已打开之前,我已使用此代码(以下)进行检查并返回“已打开”:

运行查询的脚本:

if (mysql_query($sqlQuery, $conn->connection)) {
    $sqlResult = array(
        "status" => "ok",
        "result" => "edited"
    );
} else {
    $sqlResult = array(
        "status" => "error",
        "result" => "$sqlQuery"
    );
}

它总是返回“else”数组(status=error,result=sqlQuery)。

为什么要设置
id='64',其中id='64'
?Id是
INT
无论如何,您不应该引用它们


另外,将
“result”=>“$sqlQuery”
更改为
“result”=>$sqlQuery
,并执行
var\u转储($sqlQuery)
,以协助调试。

为什么要设置
id='64',其中id='64'
?Id是
INT
无论如何,您不应该引用它们



另外,将
“result”=>“$sqlQuery”
更改为
“result”=>$sqlQuery
,并执行
var\u dump($sqlQuery)
以协助调试。

您的
id
字段是自动递增的主键吗?如果是这样,那么您将无法在查询中设置它(无论如何,您不应该这样做,因为它是
WHERE
子句的一部分)。通常,您应该只更新实际更改的字段(并且主键值通常不应作为更新的一部分更改)。

您的
id
字段是自动递增的主键吗?如果是这样,那么您将无法在查询中设置它(无论如何,您不应该这样做,因为它是
WHERE
子句的一部分)。通常,您应该只更新实际正在更改的字段(并且主键值通常不应该作为更新的一部分更改)。

您应该
echo mysql_error()
在尝试调试之前输出错误消息,但您的错误可能是由
column='0'
引起的,因为
column
在MySQL中是一个保留字,您必须在它周围加上反标记,如
`column`='0'
您应该
echo MySQL\u error()
在尝试调试之前输出错误消息,但您的错误可能是由
列='0'
引起的,因为
在MySQL中是一个保留字,所以您必须在其周围加上背景标记,如
'column`='0'

以了解详细信息?出于好奇,您是否尝试过直接针对MySQL数据库(命令行或MySQL Workbench)运行查询?详细信息请考虑?出于好奇,您是否尝试过直接针对MySQL数据库(命令行或MySQL Workbench)运行查询?我更改了一些列的名称。“my_table”、“Other_column”和“column”不是真名(但我认为真名也没有保留)。@Lucas好的,很高兴知道。你能给我们看一下mysql\u error()的输出吗??默认情况下,MAMP设置为隐藏错误。我不知道!对不起,伙计们!出现错误(在我使用本教程之后:),我修复了错误。问题是因为连接已关闭。我关闭了上一个窗口,打开了一个新窗口并执行了我的查询。它工作得很好!谢谢大家@卢卡斯,你应该把这篇文章作为对这个问题的回答,并接受它。我已经改变了一些专栏的名称。“my_table”、“Other_column”和“column”不是真名(但我认为真名也没有保留)。@Lucas好的,很高兴知道。你能给我们看一下mysql\u error()的输出吗??默认情况下,MAMP设置为隐藏错误。我不知道!对不起,伙计们!出现错误(在我使用本教程之后:),我修复了错误。问题是因为连接已关闭。我关闭了上一个窗口,打开了一个新窗口并执行了我的查询。它工作得很好!谢谢大家@Lucas你应该把它作为这个问题的答案发布并接受它。我试着按照你之前说的做(我运行一个循环来检查是否是数字并删除引号)。默认情况下,MAMP设置为隐藏错误。我不知道!对不起,伙计们!出现错误(在我使用本教程之后:),我修复了错误。问题是因为连接已关闭。我关闭了上一个窗口,打开了一个新窗口并执行了我的查询。它工作得很好!谢谢大家!我试着按照你之前说的做(我运行一个循环来检查是否是数字并删除引号)。默认情况下,MAMP设置为隐藏错误。我不知道!对不起,伙计们!出现错误(在我使用本教程之后:),我修复了错误。问题是因为连接已关闭。我关闭了上一个窗口,打开了一个新窗口并执行了我的查询。它工作得很好!谢谢大家!默认情况下,MAMP设置为隐藏错误。我不知道!对不起,伙计们!出现错误(在我使用本教程之后:),我修复了错误。问题是因为连接已关闭。我关闭了上一个窗口,打开了一个新窗口并执行了我的查询。它工作得很好!谢谢大家!默认情况下,MAMP设置为隐藏错误。我不知道!对不起,伙计们!出现错误(在我使用本教程之后:),我修复了错误。问题是因为连接已关闭。我关闭了上一个窗口,打开了一个新窗口并执行了我的查询。它工作得很好!谢谢大家!
if (!$conn->connection) echo "closed";
else echo "opened";
if (mysql_query($sqlQuery, $conn->connection)) {
    $sqlResult = array(
        "status" => "ok",
        "result" => "edited"
    );
} else {
    $sqlResult = array(
        "status" => "error",
        "result" => "$sqlQuery"
    );
}