【发布时间】:2014-11-21 03:52:04
【问题描述】:
我对 SQL 语句中的变量有疑问。我有一个表格,用户可以在其中更新他的个人资料。表单重定向到action.php?action=settings
当我尝试不使用 $variables 时,没有问题!但问题是,我有很多这样的查询,但不是为了更新。
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专家,但来自this question,我认为连接查询中的数据有问题。但是,这似乎容易发生 SQL 注入,最好使用prepared statements
标签: php mysql variables pdo sql-update