我有一个被调用的函数:
function getUnitID($unit_name) {
$con = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
echo '<br/>'.$query = ' SELECT id, unit_name FROM units WHERE unit_name LIKE "'.trim($unit_name).'"'.'</br>';
$result = mysqli_query($con, $query);
$id = '';
echo 'here';
while ($row = mysqli_fetch_assoc($result)) {
echo 'yup';
$id = $row['unit_name'];
if (strlen($id) > 0)
echo 'nothing';
else echo 'something!';
var_dump($row);
}
mysqli_close($con);
return $id;
}
我的输出是:
SELECT id, unit_name FROM units WHERE unit_name LIKE "a name here"
here
然而,当我在我的数据库中运行它时,我得到了一行。
请注意echo 'yup';
行不输出任何内容。我假设$result = mysqli_query($con, $query);
的某些内容搞砸了,但我知道$con
很好,因为它可以在其他地方使用。
答案 0 :(得分:3)
我认为问题在于:
echo '<br/>'.$query = ' SELECT id, unit_name FROM units WHERE unit_name LIKE "'.trim($unit_name).'"'.'<br />';
这样做是因为我很确定你搞砸了$ query:
$query=' SELECT id, unit_name FROM units WHERE unit_name LIKE "'.trim($unit_name).'"';
echo '<br/>'.$query.'<br />';
我不确定您要选择的是什么,但我有另一种预感,您想要这样做:
$query=' SELECT id, unit_name FROM units WHERE unit_name LIKE "%'.trim($unit_name).'%"';
echo '<br/>'.$query.'<br />';