繁体   English   中英

mysqli_query()没有产生预期的结果

[英]mysqli_query() not producing expected results

我有一个函数被调用:

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'; line没有输出任何东西。 我假设$result = mysqli_query($con, $query); 搞砸了,但我知道$con很好,因为它可以在其他地方使用。

我认为问题在于:

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 />';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM