我是一个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]}"; }
我很确定
echo mysql_result($result['haiku_text'], $result['date_written'], $count);
应该echo mysql_result($result['text'], $result['date_written'], $count);
您在文本字段前面有一个前缀,但当您选择它时它没有一个。