我在CMS上有这个查询,但它不起作用。我尝试更新会员的个人资料......
<?php
// INCLUDE FILES
include('config.cms.php');
include('php/connect_db.php');
// PREPARE STRINGS
$user_id = $_POST['user_id'];
$full_name = mysql_real_escape_string($_POST['full_name']);
$email = mysql_real_escape_string($_POST['email']);
if (isset($_POST['avatar']))
{
$avatar = mysql_real_escape_string($_POST['avatar']);
}
else
{
$avatar = '';
}
$avatar_type = $_POST['avatar_type'];
$slogan = mysql_real_escape_string($_POST['slogan']);
$privacy = $_POST['privacy'];
$location = mysql_real_escape_string($_POST['location']);
$bio = mysql_real_escape_string($_POST['bio']);
// QUERY THE DB
mysql_query("UPDATE users SET `full_name`='".$full_name."', `email`='".$email."', `avatar`='".$avatar."', `avatar_type`='".$avatar_type."', `user_slogan`='".$slogan."', `privacy`='".$privacy."', `location`='".$location."', `bio`='".$bio."' WHERE `id`='".$user_id."'");
// GET ERROR IF EXIST
mysql_error();
// REDIRECT AFTER COMPLETED
header('Location: profile.php?saved');
?>
是否有任何错误,因为我找不到任何东西!
答案 0 :(得分:1)
mysql_error功能不会让错误显得神奇。
您必须echo mysql_error();
或类似内容做任何事情 - 否则,您会收到错误但会将其丢弃。
另外,请向little Bobby Tables学习 - 您尚未清理您的用户ID,头像类型和隐私字段。 全部 - 我的意思是所有 - 必须清理用户输入。我强烈建议使用PDO和参数化查询而不是mysql_real_escape_string
。它们更安全,更容易理解。
答案 1 :(得分:0)
$result = mysql_query("UPDATE ...");
if (!$result) {
echo mysql_errno() . ": " . mysql_error() . "\n";
die();
}