Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.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 更新时出现MySQL语法错误_Php_Mysql_Implode - Fatal编程技术网

Php 更新时出现MySQL语法错误

Php 更新时出现MySQL语法错误,php,mysql,implode,Php,Mysql,Implode,在此脚本中找不到问题: $delhash = array(); $resultxx = mysqli_query($datba1,"SELECT htag FROM wall_hashtags WHERE publicat='$permid'") or die('Error1'); while(list($dht) = mysqli_fetch_row($resultxx)) { $delhash[] = $dht; } 以下更新不起作用: $result_update = mysql

在此脚本中找不到问题:

$delhash  = array();
$resultxx = mysqli_query($datba1,"SELECT htag 
FROM wall_hashtags 
WHERE publicat='$permid'") or die('Error1');

while(list($dht) = mysqli_fetch_row($resultxx)) {
$delhash[] = $dht;
}
以下更新不起作用:

$result_update = mysqli_query($datba1,"UPDATE wall_hashtags  SET
numbr=numbr-1 WHERE htag IN (".implode(",", $delhash).")")
die(mysqli_error($datba1));
您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第1行“first、second、third”附近使用的正确语法

数组:

echo '<pre>'; print_r($delhash); echo '</pre>';

Array
(
    [0] => first
    [1] => second
    [2] => third
)
echo';打印(delhash);回声';
排列
(
[0]=>首先
[1] =>秒
[2] =>第三
)

请确保正在使用带有
varchar
值的
IN()
子句进行更新。查看更多详细信息

所以你应该用
来包装它


请确保正在使用带有
varchar
值的
IN()
子句进行更新。查看更多详细信息

所以你应该用
来包装它


这应该是正确的答案。不要忘记用引号将字符串括起来。
die
也在
mysqli\u查询中;还需要一个
…或者我对
mysqli
不够熟悉,这是有效的吗?@chris85我想
die()
可以。只需添加
。这应该是正确答案。不要忘记用引号将字符串括起来。
die
也在
mysqli\u查询中;还需要一个
…或者我对
mysqli
不够熟悉,这是有效的吗?@chris85我想
die()
可以。只需添加
。使用准备好的语句。要再次保存SQL注入,请使用prepared语句。重新保存SQL注入
$result_update = mysqli_query($datba1,"UPDATE wall_hashtags  SET 
                 numbr=numbr-1 WHERE htag IN ('".implode("','", $delhash)."')")
                or die(mysqli_error($datba1));