我想用PHP做一个简单的更新但不工作

时间:2017-04-05 13:14:59

标签: php sql

我正在尝试用PHP进行简单的更新但是没有工作,我试图回显出运行良好的值,但在查询时它不会在数据库中更新     

if(isset($_POST['sva_change'])) {
    $email = $_POST['email'];
    $username = $_POST['uname'];
    $phone_num = $_POST['pnum'];
    $bank_name = $_POST['bname'];
    $accountname = $_POST['aname'];
    $acountnumber = $_POST['anum'];
    $id = $_POST['id'];



    $query = $DBcon->query("UPDATE general_users SET hemail = '$email', u_name = '$username', phone_num = '$phone_num', bank_name = '$bank_name', account_name = '$accountname', account_number = '$acountnumber' where _userid='$id'");

    echo $email, $username, $phone_num, $bank_name, $accountname, $acountnumber;

if($query) {
    echo "Succcessfully Updated";
} else {
    echo "Erorr while updating record : ";
}

$DBcon->close();

}else{
    echo "errorr rr r r ";
}

?>

1 个答案:

答案 0 :(得分:0)

一个好的想法是要知道查询是否失败,或者只是php在屏幕上打印查询,复制它并将其粘贴到phpmyadmin(或其他)上。 如果在您的表中添加了行,那么您的php有问题。另外,Phpmyadmin将告诉你问题在哪里。例如,您可能尝试在int列中保存字符串或浮点数。

你也可以启用mysql错误来查看问题所在,这是非常精确的,在90%的情况下,你会发现哪个值或colunm有问题。

顺便说一句,你的脚本是非常不安全的:我可以注入我想要的东西,如果你想在几秒钟内注入SQL,就可以删除你的表。 使用预准备语句:永远不要在没有签入服务器端的表中插入

http://php.net/manual/en/pdo.prepared-statements.php