1

PHPでSQLクエリを設定するのに少し苦労しています。

私は次のphpスクリプトを持っています:

    <?php $con = mysql_connect("URL","USERNAME","PASSWORD"); if (!$con)   {   die('Could not connect: ' . mysql_error());   }

mysql_select_db("searchquery_interfaithmedical_com", $con);

$sql = "CREATE TABLE Persons ( FirstName varchar(15), LastName varchar(15), Age int )";

$sql="INSERT INTO Persons (FirstName, LastName, Age) VALUES ('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";

    if (!mysql_query($sql,$con))   {   die('Error: ' . mysql_error());   } echo "1 record added";

mysql_query($sql);
$sql = "SELECT * FROM Persons";

mysql_close($con); ?>

私が探しているのは、名前、名前、年齢をsearchquery_interfaithmedical_comデータベースのPersonsテーブルに取り込むことです。HTMLページから送信すると、次のエラーが表示されます:「エラー:テーブル'searchquery_interfaithmedical_com.Persons'は存在しません」。

PHPスクリプトは、挿入する前にTABLEの作成をすでに処理していませんか?問題を修正するにはどうすればよいですか?

4

2 に答える 2

2

変数を上書きして、$sql実行する前にテーブルを作成しています。試す:

$sql = "CREATE TABLE Persons ( FirstName varchar(15), LastName varchar(15), Age int )";
mysql_query($sql);
$sql = "INSERT INTO Persons (FirstName, LastName, Age) VALUES ('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";

これらの値をテーブルから取得するには、次のようにします。

$sql = mysql_query("SELECT * FROM Persons");
while($results = mysql_fetch_array($sql)) {
    echo $results['FirstName'] . ', ' . $results['LastName'] . ', ' . $results['Age'] . '<br/>';
}
于 2013-02-20T21:00:26.010 に答える
1

クエリを挿入で上書きしたため、Create Tableは最初は実行されません。次のコードを使用して問題を修正し、同じ変数を頻繁に使用しないようにしてください。

<?php $con = mysql_connect("URL","USERNAME","PASSWORD"); 
if (!$con)   
{
   die('Could not connect: ' . mysql_error());   
}

mysql_select_db("searchquery_interfaithmedical_com", $con);

$query1 = "CREATE TABLE Persons ( FirstName varchar(15), LastName varchar(15), Age int )";

mysql_query$query1,$con);

$query2="INSERT INTO Persons (FirstName, LastName, Age) VALUES ('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";

if (!mysql_query($query2,$con))   
{   
die('Error: ' . mysql_error());  
} 
echo "1 record added";

mysql_close($con); ?>
于 2013-02-20T21:05:12.390 に答える