作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我写了一个函数,它接受一个数据库和一个字符串,并在数据库中找到一个匹配项并返回书 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/
我是一名优秀的程序员,十分优秀!