我想在数据库表中搜索一个特定的词,并想从同一行的其他列中检索文本,并且该词可能存在的行可能不止一行,所以我想要所有那些行词是。 我正在使用这段代码
$found = 'world';
$sql = "SELECT file_id FROM hello WHERE $field = '$found'";
$result = mysql_query( $sql);
$row = mysql_fetch_array($result);
while($row)
{
echo $row['file_id'];
}
所以我的问题是在数据库表中我只有 5 行并且在代码之后只有 2 个可能的 file_id 被打印,但是这个 while 循环变成了无限。
提前致谢
最佳答案
快速修复是这样的:
$found = 'world';
$sql = "SELECT file_id FROM hello WHERE field = '$found'";
$result = mysql_query( $sql);
while($row = mysql_fetch_array($result)) {
echo $row['file_id'];
}
但是还有很多其他的地方需要更正:
使用mysqli扩展,mysql扩展已弃用
你应该使用预处理语句来防止sql注入(inject)
您必须添加错误检查和处理
...
关于php - 通过在数据库表中搜索从同一列的不同行检索文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19915317/