我想構建一個更新某些表中的字段變量的ajax函數。 表,字段和行都是可變的,並基於通過ajax函數發佈的內容。使用變量表,列,行的PDO更新
這是我的quickedit.php
define("DB_DSN", "mysql:host=$host;dbname=$data");
define("DB_USERNAME", $user);
define("DB_PASSWORD", $pass);
if(isset($_POST['table'])){ $table = $_POST['table'];}
if(isset($_POST['id'])){ $id = $_POST['id'];}
if(isset($_POST['field'])){ $field = $_POST['field'];}
if(isset($_POST['value'])){ $value = $_POST['value'];}
try {
$con = new PDO(DB_DSN, DB_USERNAME, DB_PASSWORD);
} catch (Exception $e) {
die("Connection Error");
}
try {
$st = $con->prepare("UPDATE :table SET :field = :value WHERE id = :id");
$st->execute(array(':table'=>$table, ':id'=>$id, ':field'=>$field, ':value'=>$value));
} catch (Exception $e) {
die("Query Error");
}
echo "table: ".$table." id: ".$id." field: ".$field." value: ".$value;
代碼正如你所看到的,我要動態地選擇表,列和行。
我並不知道一大堆異常,但沒有一個被拋出 ,它成功地迴應了我告訴它的底部的東西。
您不能對錶名或列使用佔位符。 –
您不能使用佔位符表名稱或列名稱。 – aynber
啊,有道理。任何方式動態選擇表呢? –