PHP和mysql:PHP中的mysql语句

PHP和mysql:PHP中的mysql语句,php,mysql,Php,Mysql,我在一个php文件中有一个mysql查询,它从一个表中选择一组名称并填充一个下拉列表。 这是我的第一条sql语句 $sql1 = "SELECT DISTINCT AuthorLast FROM Author ORDER BY AuthorLast"; 问题是其中一个名字是奥基夫 我的第二条sql语句如下所示,其中我在按下submit按钮后运行 问题是,由于O'Kiefe这个名字包含一个撇号,它没有按照我想要的方式运行我的第二个sql函数 $sql2 = "select distinct Bo

我在一个php文件中有一个mysql查询,它从一个表中选择一组名称并填充一个下拉列表。 这是我的第一条sql语句

$sql1 = "SELECT DISTINCT AuthorLast FROM Author ORDER BY AuthorLast";
问题是其中一个名字是奥基夫

我的第二条sql语句如下所示,其中我在按下submit按钮后运行

问题是,由于O'Kiefe这个名字包含一个撇号,它没有按照我想要的方式运行我的第二个sql函数

$sql2 = "select distinct Book.Title from Book,Author,Wrote where Author.AuthorLast='$_POST[filter2]' and Author.AuthorNum=Wrote.AuthorNum and Wrote.BookCode=Book.BookCode";
有没有办法克服这个问题

希望你能帮忙。 只是学习php和mysql。 谢谢

您应该使用

mysql_real_escape_string()
警告 从PHP5.5.0开始,此扩展已被弃用,而应使用MySQLi或PDO_MySQL扩展。

你应该使用

mysql_real_escape_string()
警告 从PHP5.5.0开始,此扩展已被弃用,而应使用MySQLi或PDO_MySQL扩展。

你应该使用

mysql_real_escape_string()
警告 从PHP5.5.0开始,此扩展已被弃用,而应使用MySQLi或PDO_MySQL扩展。

你应该使用

mysql_real_escape_string()
警告 从PHP5.5.0开始,此扩展已被弃用,而应使用MySQLi或PDO_MySQL扩展。

您可以使用PDO(PHP数据对象)与数据库交互,它本身处理参数化查询并自动防止SQL注入

请尝试以下方法:

if($_POST["filter2"]){
    $stmt = $conn->prepare("select distinct Book.Title from Book,Author,Wrote where Author.AuthorLast='?' and Author.AuthorNum=Wrote.AuthorNum and Wrote.BookCode=Book.BookCode");
    $stmt->execute(array($_POST['filter2']));
 }
我推荐(从PHP5.1开始支持)

您可以使用PDO(PHP数据对象)与数据库交互,它本身处理参数化查询,并自动防止SQL注入

请尝试以下方法:

if($_POST["filter2"]){
    $stmt = $conn->prepare("select distinct Book.Title from Book,Author,Wrote where Author.AuthorLast='?' and Author.AuthorNum=Wrote.AuthorNum and Wrote.BookCode=Book.BookCode");
    $stmt->execute(array($_POST['filter2']));
 }
我推荐(从PHP5.1开始支持)

您可以使用PDO(PHP数据对象)与数据库交互,它本身处理参数化查询,并自动防止SQL注入

请尝试以下方法:

if($_POST["filter2"]){
    $stmt = $conn->prepare("select distinct Book.Title from Book,Author,Wrote where Author.AuthorLast='?' and Author.AuthorNum=Wrote.AuthorNum and Wrote.BookCode=Book.BookCode");
    $stmt->execute(array($_POST['filter2']));
 }
我推荐(从PHP5.1开始支持)

您可以使用PDO(PHP数据对象)与数据库交互,它本身处理参数化查询,并自动防止SQL注入

请尝试以下方法:

if($_POST["filter2"]){
    $stmt = $conn->prepare("select distinct Book.Title from Book,Author,Wrote where Author.AuthorLast='?' and Author.AuthorNum=Wrote.AuthorNum and Wrote.BookCode=Book.BookCode");
    $stmt->execute(array($_POST['filter2']));
 }

我推荐(从PHP5.1开始支持)

非常感谢!这正是我想要的。谢谢你。学习php我还有很长的路要走!:)很高兴我的朋友,只是一个快速的建议尝试使用PDO或MySqli。非常感谢你!这正是我想要的。谢谢你。学习php我还有很长的路要走!:)很高兴我的朋友,只是一个快速的建议尝试使用PDO或MySqli。非常感谢你!这正是我想要的。谢谢你。学习php我还有很长的路要走!:)很高兴我的朋友,只是一个快速的建议尝试使用PDO或MySqli。非常感谢你!这正是我想要的。谢谢你。学习php我还有很长的路要走!:)很高兴我的朋友,只是一个快速的建议尝试使用PDO或MySqli。谢谢