私は以下を使用しています (これらを後日 mysqli に変更する予定があり、使用されるクエリの安全性が低いことを認識していると仮定します)、MySQL テーブルの 1 つの列の行からテキスト文字列を取得し、ブラウザーに出力します。理想的には、この列からランダムに選択された文字列になります。
mysql_connect($host,$username,$password);
mysql_select_db($database) or die(mysql_error ());
$query="SELECT * FROM `tablename` ORDER BY RAND() LIMIT 0,1;";
$result=mysql_query($query);
$rows = array();
while($row = mysql_fetch_array($rs)) {
$rows[] = $row;
}
mysql_close();
$max = count($rows) - 1;
次のエコー行を使用して、ブラウザーで最後のビットを取得します。
echo $rows[rand(0, $max)][0] . " " . $rows[rand(0, $max)][1] . " " . $rows[rand(0, $max)][2] . " " . $rows[rand(0, $max)][3] . " " . $rows[rand(0, $max)][4]$
?>
このエコー行を参照して、「PHP Notice: Undefined offset: 0 in script.php on line 19」というエラーが表示されます (確かに、これは他のスレッドやチュートリアルからまとめられたものであるため、完全には従いません)。ログに記録されて観察された他のすべてのエラーを解決したので、可能であれば、出力が列からの単一行 (その中のテキスト) になるように修正するにはどうすればよいですか?