如何mysql_real_escape_string SQL查询?

时间:2010-02-04 15:49:31

标签: php sql mysql

使用

中的单引号
$bio = "$user->description";

像这样插入DB;

<?
$sql = "insert into yyy (id, twitterid, twitterkullanici, tweetsayisi, takipettigi, takipeden, nerden, bio, profilresmi, ismi) values ('', '$id', '$twk', '$tws', '$tkpettigi', '$tkpeden', '$nerden', '$bio', '$img', '$isim')";

$ak = mysql_query("select * from yyy where twitterid = '$id'");
if (mysql_num_rows($ak) == 0) {
    $sonuc = mysql_query($sql) or die(mysql_error());
    echo "ciciş listesine eklendin :)"; 
}
elseif (mysql_num_rows($ak) == 1) {
    $sonuc = "zaten ciciş olarak eklenmişsin. ikinci kere eklemeye ne gerek var :)";
}

?>

我怎么能正确地使用$ bio的mysql_real_escape_string?

2 个答案:

答案 0 :(得分:2)

确保首先建立与MySQL数据库的连接。

$sql = "insert into yyy (id, twitterid, twitterkullanici, tweetsayisi, takipettigi, takipeden, nerden, bio, profilresmi, ismi) values ('', '$id', '$twk', '$tws', '$tkpettigi', '$tkpeden', '$nerden', '" . mysql_real_escape_string($bio) . "', '$img', '$isim')";

仅供参考,使用Google搜索或使用PHP documention可以很容易地找到它。

此外,您应该将此用于任何字符串和/或用户提交的数据。不只是选择字段。

答案 1 :(得分:2)

你没有。 开始使用mysqli或更高版本PDO

的参数化查询

带有PDO的php doc示例:

<?php
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':value', $value);

// insert one row
$name = 'one';
$value = 1;
$stmt->execute();

// insert another row with different values
$name = 'two';
$value = 2;
$stmt->execute();
?>