我是一名 PHP 和 MySQL 新手,试图针对包含 2 列的表编写一个简单的查询:一列包含文本字符串,第二列包含日期字符串。下面的代码返回第一列(文本字符串)但不返回第二个日期字符串:
<?php
$link = mysql_connect('localhost', 'myuser', 'mypassword');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db('archive')or die("cannot select db");
$string = $_POST['keywords'];
$search_query = "SELECT text, date_written FROM archive_table WHERE text LIKE '%$string%'";
$result = mysql_query($search_query,$link);
$rows = mysql_num_rows($result);
if ($rows == 0) {
echo "sorry, I haven’t written about ".$string." yet.";
}
$count = 0;
while ($count < $rows) {
echo mysql_result($result, $count);
echo "\n\n";
$count = $count + 1;
}
mysql_close($link);
?>
我试过用下面的代码替换“echo mysql_result($result, $count);”,但它什么也没有返回:
echo mysql_result($result['text'], $result['date_written'], $count);
我希望这是一个很容易修复的相当简单的语法错误。提前致谢!
最佳答案
不要使用
mysql_*
函数,因为它们已被弃用且不安全。使用 MySQLi 或 PDO您还需要获取结果:
$query = "blah" $result = mysql_query($query); while($row = mysql_fetch_assoc($result)) { echo "{$row['text']}, {$row['date_written]}"; }
关于php - 简单的 php mysql 查询只返回两列之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16637825/