gpt4 book ai didi

php - 如何将传递的字符串匹配到检查 mysql 数据库的 php 函数

转载 作者:行者123 更新时间:2023-11-28 23:23:36 26 4
gpt4 key购买 nike

我写了一个函数,它接受一个数据库和一个字符串,并在数据库中找到一个匹配项并返回书 ISBNS 的相应值。但是它对我不起作用......我认为问题出在我匹配名称....所以例如我有 Jack Thorne....当我将它传递给函数时,我应该在两者之间放置一个逗号,因为我从名字列和姓氏中获取名字 Jack从姓氏列....我试图故意传递一个我知道存在的作者的名字但它没有返回任何东西..请帮助这是函数

function booksByAuthor($db,$author){
$query='SELECT isbn FROM books_authors WHERE author_id = (SELECT author_id FROM authors WHERE first_name,last_name = :author)';
$statement = $db->prepare($query);
$statement->bindValue(':author', $author);
$statement->execute();
$isbns= $statement->fetchAll();
$statement->closeCursor();
return $isbns;
}

最佳答案

试试这个:

$query='SELECT isbn FROM books_authors 
WHERE author_id IN
(SELECT author_id FROM authors WHERE first_name =:author OR last_name = :author)';

equals 更改为 IN - 因为 SELECT author_id ... 语句将创建多个结果。

first_name =:author OR last_name = :author - 获得将查看 first_name 或 last_name 列的结果。

关于php - 如何将传递的字符串匹配到检查 mysql 数据库的 php 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40414299/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com