1

私のMySQLデータベースは、テーブル名が「maillist」の「chatterr」という名前でセットアップされています。私は現在、以下のphpを使用しています:

<?php
mysql_connect("localhost","root","");

//query databae
$query = "SELECT * FROM maillist ORDER BY id DESC LIMIT 4";
$result=mysql_query($query) or die('Error, insert query failed');
$row=0;
$numrows=mysql_num_rows($result);

while($row<$numrows) {
    $id=mysql_result($result,$row,"id");
    $first_name=mysql_result($result, $row, "first_name");
    $last_name=mysql_result($result, $row, "last_name");
?>

<?php echo $id; ?>

<?php
$row++;
}
?>

ローカルホストでは機能しますが、PHPでは機能しません。コードの何が問題になっていますか?

4

2 に答える 2

3

mysql_select_dbクエリを実行する前に、データベースを選択してください

mysql_connect("localhost","root","");
mysql_select_db("chatterr");

またはクエリでデータベース名を指定します

$query = "SELECT * FROM chatterr.students ORDER BY id DESC LIMIT 4";

更新:それに加えて、あなたの接続はおそらく失敗しています。変化する

mysql_connect("localhost","root","");

$db = mysql_connect("localhost","root","");
if (!$db) {
    die('Could not connect: ' . mysql_error());
}

それが事実かどうかを確認します。

UPDATE3:すべてをまとめます。そのコードには改善の余地がたくさんありますが、私のマシンでは完全に正常に機能します

<?php
$db = mysql_connect("localhost","root","");
if (!$db) {
    die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db("chatterr", $db);
if (!$db_selected) {
    die ('Could not select db: ' . mysql_error());
}

//query databae
$query = "SELECT * FROM test.students ORDER BY id DESC LIMIT 4";
$result=mysql_query($query) or die('Error, insert query failed');
$row=0;
$numrows=mysql_num_rows($result);

while($row<$numrows)
{
$id=mysql_result($result,$row,"id");
$first_name=mysql_result($result,$row,"first_name");
$last_name=mysql_result($result,$row,"last_name"); ?>

<?php echo $id; ?>

<?php

$row++;
}
?>

また、新しいコードにmysql_*関数を使用しないでください。それらは 非推奨ですPDO またはMySQLiのいずれかでプリペアドステートメントを使用 します。

于 2013-03-10T06:09:02.313 に答える
0

このようにしてください:

<?php
$con = mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("chatterr",$con) or die(mysql_error());

//query database
$query = "SELECT * FROM maillist ORDER BY id DESC LIMIT 4";
$result=mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_array($result))
{
    $id = $row["id"];
    $first_name = $row["first_name"];
    $last_name = $row["last_name"];
}
?>
于 2013-03-10T06:07:01.057 に答える