gpt4 book ai didi

PHP 在 MySQL 查询中随机删除变量

转载 作者:行者123 更新时间:2023-11-29 12:50:38 25 4
gpt4 key购买 nike

我遇到了一个奇怪的 PHP 问题,这让我有点困惑。我正在从循环中构建插入查询字符串(在 var $user_query 中),然后执行以下代码:

    $user_query="INSERT IGNORE INTO user (id,user_name) VALUES ".$user_query; 
$user_query=substr($user_query,0,-1);
echo $user_query ."\n";
mysql_query($user_query);
if(mysql_error()) {$error=$user_query . mysql_error(); echo $error; exit;}
unset($user_query);

然后我运行它:

    shell> php ingest.php 
INSERT IGNORE INTO user (id,user_name) VALUES (24462186,'msbelindabee'),(478099020,'beenthat'),(294153799,'sh3lly05'),(22700530,'srcaino'),(755684,'hoony_ky'),(188148256,'judith_prietht'),(14687197,'realnicolezavala'),(467409503,'nicolezavalax3'),(35229813,'akaomar91091'),(560376223,'christophernineteen'),(1394834191,'punkpipes')
INSERT IGNORE INTO user (id,user_name) VALUES
INSERT IGNORE INTO user (id,user_name) VALUESYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
shell>

似乎 $user_query var 在回显和调用 mysql_query() 函数之间的某个时间被截断。我在这个脚本的其他几个地方也发生过这种情况。我很困惑——这可能是内存问题吗?我没有遇到任何内存错误。

我检查了 apache 和 mysql 错误日志 - 没有记录任何内容。

最佳答案

当这种情况循环发生时,这是非常有意义的。第一次进入循环时,变量 $user_query 可能包含您想要插入的值。查询正确回显并且可能正确执行(在数据库中检查这一点)。然后取消设置 $user_query 变量。

在下一次迭代中,您在 $user_query 变量中不输入任何内容,因此

$user_query="INSERT IGNORE INTO user (id,user_name) VALUES ".$user_query;

不会向该查询附加任何内容。

回显和执行之间没有任何反应,此代码执行两次并在第二次运行时产生错误。

关于PHP 在 MySQL 查询中随机删除变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24800237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com