我正在尝试更新某个列,我没有对列值进行任何修改,请您帮忙解决这个问题?
我正在尝试的代码: -
global $wpdb;
$param1 = $_GET['projectID'];
$sql1 = "UPDATE wp_projects SET nbrDonation = nbrDonation+1 WHERE projectID = $param1";
$wpdb->query($sql1);
echo $param1;
echo $sql1;
这就是我得到的错误:
Erreur de la base de données WordPress : [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 '' at line 1] UPDATE wp_projects SET nbrDonation=nbrDonation+1 WHERE projectID=
UPDATE wp_projects SET nbrDonation=nbrDonation+1 WHERE projectID=
答案 0 :(得分:1)
您的print(os.path.splitext(text_files[0])[0])
> new_categorized
值可能为空,或者无效。
[您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行''附近使用正确的语法
$param1
表示该值为空;所以SQL正在做:
''
哪个无效(UPDATE wp_projects SET nbrDonation=(nbrDonation+1) WHERE projectID=''
)不是预期的整数值。
您需要强制''
值为interger。您可以typecasting in PHP执行此操作。
所以:
$param1
这将意味着SQL将正常工作:
$param1 = (int)$_GET['projectID']; // forces it to a numeric value, 1 or 0
您不需要围绕ID号围绕$sql1 = "UPDATE wp_projects SET nbrDonation = nbrDonation+1 WHERE projectID = $param1";
和do not need quotes的括号,因为它是数字。
请注意:
答案 1 :(得分:0)
删除projectID
的单引号{{1}}
立即尝试。