更新sql通过php form mysql错误发生

时间:2015-02-25 17:44:43

标签: php mysql sql

$meldning = $_POST['meldning'];
$ebruker = $_POST['bruker'];

$sql = "UPDATE Crew ".
   "SET meldning = $meldning ".
   "WHERE bruker = $bruker" ;

我遇到的问题是,当我尝试从我的PHP脚本更新它时,它说

  

无法更新数据:SQL语法中有错误;查看与您的MySQL服务器版本相对应的手册,以获得在''附近使用的正确语法。在第1行

编辑:现在解决了它的HALF:>无法更新数据:未知列' tobias'在' where子句'

3 个答案:

答案 0 :(得分:0)

添加mysql_real_escape_string()以逃避错误的字符,例如'for mysql并在sql查询中添加引号

$meldning = mysql_real_escape_string($_POST['meldning']);
    $ebruker = mysql_real_escape_string($_POST['bruker']);

$sql = "UPDATE Crew ".
   "SET meldning = '$meldning' ".
   "WHERE bruker = '$bruker'" ;

答案 1 :(得分:0)

试试这个

$meldning = $_POST['meldning'];
$ebruker = $_POST['bruker'];

$sql = "UPDATE Crew
   SET meldning = '$meldning'
   WHERE bruker = '$bruker' " ;

答案 2 :(得分:0)

请永远不要相信用户发送的数据,如POST或GET。始终检查值并逃脱。我建议你使用PDO。更多信息:http://php.net/manual/en/pdo.prepared-statements.php

    

// database connection
$conn = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass);

// new data
$title = 'PHP Pattern';
$author = 'Imanda';
$id = 3;
// query
$sql = "UPDATE Crew 
        SET meldning=?
        WHERE bruker=?";

$q = $conn->prepare($sql);
$q->execute(array($_POST['meldning'],$_POST['bruker']));