0

I am facing some issue with update in Mysql Php..

Here is the code I am using

    $email = $_REQUEST['email'];
    $name  = $_REQUEST['name'];
    $char ='this is chara'; //$_REQUEST['character'];
    $des  = $_REQUEST['des'];
    $id = $_REQUEST['id'];

$sql_update = "UPDATE cast SET name ='".$name."',Gendor ='".$email."', character = \'ashokkumar2\',description ='".$des."' WHERE id = '".$id."'";
$result=mysql_query( $sql_update);
if ($result){
    echo 1;
}
4

3 回答 3

2

首先,不要使用 mysql_* 函数,而是使用PDO ,因为您的脚本对SQL 注入是完全开放的。

character = \'ashokkumar2\' 

应该

`character` = 'ashokkumar2' 

character是MySQL 中的保留字,因此您需要使用 tildas 对该字进行转义。避免保留字问题的另一种方法是用下划线分隔的多个单词命名列,例如character_name.

如果您需要更多信息,请在运行查询后打印mysql_error()的输出。

请记住,不要使用 mysql_* 而是使用PDOMySQLi

于 2013-03-14T04:55:33.147 回答
0

尝试这个

$sql_update = "UPDATE cast SET name=$name,Gendor=$email,character='$char',description=$des WHERE id = $id";
$result=mysql_query($sql_update);
if ($result){
    echo 1;
}
于 2013-03-14T04:51:24.127 回答
0

如果上述答案不起作用,您可以复制并粘贴以下输出: print $sql_update

或许这给了我们更清楚的答案。

于 2013-03-14T04:56:21.927 回答