【发布时间】:2018-03-24 08:08:56
【问题描述】:
我正在尝试使用表单上选择框的名称属性来使更新查询工作。一切都传递到 $_POST 并且 INSERT 查询工作正常,但我无法弄清楚为什么我的 if 语句的更新部分没有传递到我的数据库。非常感谢任何建议。
<?php
global $wpdb;
$Call_Number = $_POST['Call_Number'];
$datas = $_POST['REG'];
$columns = implode(",",array_keys($datas));
$values = implode("','",$datas);
$result = $wpdb->get_results ("SELECT Call_Number FROM DG_Pro_Coach WHERE Call_Number = '".$Call_Number."'");
if (count ($result) > 0) {
$row = current ($result);
$wpdb->query ("UPDATE DG_Pro_Coach SET ".$columns."='".$values."' WHERE Call_Number = '".$Call_Number."'");
} else {
$wpdb->query("INSERT INTO DG_Pro_Coach (".$columns.",Call_Number ) VALUES ('".$values."','$Call_Number' )");
}
?>
【问题讨论】:
-
与问题无关,但很重要:请parameterize your queries!
-
你的更新子句语法错误应该是这个
UPDATE t1 SET col1 = val1, col2 = val2 where conditions,你的是UPDATE t1 SET col1, col2 = val1, vla2 where condition
标签: php html sql forms sql-update