我是一个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);
我希望这是一个相当简单的语法错误,很容易修复。提前谢谢!
答案 0 :(得分:1)
我很确定这个
echo mysql_result($result['haiku_text'], $result['date_written'], $count);
应该是
echo mysql_result($result['text'], $result['date_written'], $count);
您在文本字段前面有一个前缀,但在您选择它时没有前缀。
答案 1 :(得分:1)
不要使用mysql_*
函数,因为它们已被弃用且不安全。使用MySQLi或PDO
您还需要获取结果:
$query = "blah"
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result)) {
echo "{$row['text']}, {$row['date_written]}";
}