我在SQL語句中的變量有問題。我有一個表單,用戶可以更新他的個人資料。表單重定向到action.php?action=settings
從PHP變量更新DB數據
當我嘗試沒有$變量時,沒有問題!但問題是,我有很多像這樣的查詢,但不是用於更新。
function change_user_data($trainer) {
require("database.php");
try {
$results = $db->query("UPDATE trainer SET email='$email', status='$status', password='$password' WHERE name='$trainer'");
} catch (Exception $e) {
echo "Data could not be changed!";
exit;
}
}
,這是我action.php
if ($action == "settings") {
$email = $_POST['email'];
$status = $_POST['status'];
$password = $_POST['password'];
change_user_data($trainer);
}
當我echo
那些$variables
,他們得到展示,使他們不爲空。但是這個查詢更新我的表,但沒有數據,所以之後一切都是空的。
我不是PHP的專家,但是從[這個問題](http://stackoverflow.com/questions/5838709/using-variables- in-mysql-update-php-mysql?rq = 1),我認爲在連接查詢中的數據時存在問題。但是,這似乎很容易SQL注入,並會更好地使用[準備語句](http://www.phpeveryday.com/articles/PDO-Insert-and-Update-Statement-Use-Prepared-Statement-P552.html ) – 2014-09-26 07:50:48