我试图从数据库中轻松选择并将结果保存在数组中。
$query = "SELECT ID FROM Publikationen WHERE Personen LIKE '%; " . $autor2 . "%';";
echo($query);
// get IDs
$res = mysqli_query($link,$query );
$i = 0;
while ($row = mysqli_fetch_assoc($res)){
echo($row['ID']);
$IDarray[$i]= $row['ID'];
$i++;
}
$autor2
变量是一个名称,如:“Doe,John”。
代码似乎不在循环中,并且在循环之后mysqli_error
为空,因此似乎我没有从db获得结果。
当我从phpMyAdmin中的$query
复制回声时它工作正常。此外,当我使用名称而不是$autor2
时,它也可以正常工作,并获得我的整个数组。
答案 0 :(得分:1)
$query = "SELECT ID FROM Publikationen WHERE Personen LIKE '%" . $autor2 . "%'";
编写此代码。
答案 1 :(得分:0)
就我在SQL查询中看到的而言,存在语法错误。
您写道:
SELECT ID FROM Publikationen WHERE Personen LIKE '%; " . $autor2 . "%';
但应该是:
SELECT ID FROM Publikationen WHERE Personen LIKE '%" . $autor2 . "%';
希望它有所帮助!
答案 2 :(得分:0)
从查询中删除semicolon
。
$query = "SELECT ID FROM Publikationen WHERE Personen LIKE '% " . $autor2 . "%'";
答案 3 :(得分:0)
只需使用此 -
$query = "SELECT ID FROM Publikationen WHERE Personen LIKE '%$autor2%'";
如果分号很重要,那么使用它但在单引号('')内使用$ author2变量。