0

おっと、解析エラーがどこにあるのかわかりませんでした。最初のクエリ内にセミコロンがありました。

基本的に、同じ PHP スクリプトで 3 つの異なる select ステートメントを使用してクエリを実行しようとしています。これは可能ですか?(約束する最後の質問です。この後、基本的なことは数週間で、それ以上質問する必要はないと思います)

<?php
include("server_connect.php");

mysql_select_db("rnissen");

$query = "SELECT column_one, column_two, column_four FROM tbltable;"

$results = mysql_query($query) or die(mysql_error());

$querytwo = "SELECT column_one, column_two, column_five FROM tbltable WHERE column_five = 1989";

$results = mysql_query($querytwo) or die(mysql_error());

$querythree = "SELECT COUNT(column_five) FROM tbltable WHERE column_five = 1989";

$results = mysql_query($querythree) or die(mysql_error());

?>  

パート 2 わかりましたので、提案どおりにコードを変更し、テーブルに追加しようとしました。まだ Parse error: syntax error, unexpected '$results1' (T_VARIABLE) in C:\xampp\htdocs\3718\assign5SELECT.php 行 7 が表示されます

テーブルなしで試してみましたが、それでも同じエラーです。足りないものはありますか?新しい変数を使用して更新されたコードを次に示します。

mysql_select_db("rnissen");

$query = "SELECT column_one, column_two, column_four FROM tbltable;"
$results1 = mysql_query($query) or die(mysql_error());
echo "Column One, Column Two, Column Four : </br>";
echo "<table border=\"1\">\n";
while ($row1 = mysql_fetch_assoc($results1)) {
echo "<tr>\n";
foreach($row1 as $value1) {
echo "<td>\n";
echo $value1;
echo "</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";

$querytwo = "SELECT column_one, column_two, column_five FROM tbltable WHERE column_five = 1989";
$results2 = mysql_query($querytwo) or die(mysql_error());
echo "Column One, Column Two, Column Five : </br>";
echo "<table border=\"1\">\n";
while ($row2 = mysql_fetch_assoc($results2)) {
echo "<tr>\n";
foreach($row2 as $value2) {
echo "<td>\n";
echo $value2;
echo "</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";

$querythree = "SELECT COUNT(column_five) FROM tbltable WHERE column_five = 1989";
$results3 = mysql_query($querythree) or die(mysql_error());
echo "Column 4 has this many 1989s : </br>";
echo "<table border=\"1\">\n";
while ($row3 = mysql_fetch_assoc($results3)) {
echo "<tr>\n";
foreach($row3 as $value3) {
echo "<td>\n";
echo $value3;
echo "</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";
?>  
4

2 に答える 2

1
$query = "SELECT column_one, column_two, column_four FROM tbltable;"

$results = mysql_query($query) or die(mysql_error());

$querytwo = "SELECT column_one, column_two, column_five FROM tbltable WHERE column_five = 1989";

$results = mysql_query($querytwo) or die(mysql_error());

$querythree = "SELECT COUNT(column_five) FROM tbltable WHERE column_five = 1989";

$results = mysql_query($querythree) or die(mysql_error());

発生している問題は、同じ変数名を使用して結果を上書きしていることです。

例:

$Var = "test";
 echo $Var; // Will output "test"
$Var = "Another String"; 
 echo $Var; // Will output "Another String" rather than "test"; 

だから追加:

$Results_a = ...;
$Results_b = ...;
$Results_c = ...;

したがって、変数を簡単に操作できます。別の方法として、SQL 結合があります: http://dev.mysql.com/doc/refman/5.0/en/join.html 個別のクエリの量を削減する

于 2013-07-16T23:38:26.363 に答える