に、私は私のMySQLデータベースからデータを取得するために、この行を使用します。
$query = "SET @rank=0; SELECT @rank:[email protected] +1 as rank, Blah Blah...";
私はそれが正常に動作します(= $クエリなし)のphpMyAdminのSQLウィンドウでSELECT文を確認してください。
しかし、PHPで使用するとエラーが発生します。それは "SET @ランク= 0;"が好きではありませんビット。 "SET @ rank = 0;"を使用する方法はありますか?それが "$ query ="にあるとき?回避策はありますか?
public function getmyData() {
$mysql = mysql_connect(connection stuff);
$query = "SELECT @rank:[email protected] +1 as rank, formatted_school_name, blah blah";
$result = mysql_query($query);
$ret = array();
while ($row = mysql_fetch_object($result)) {
$tmp = new VOmyData1();
$tmp->stuff1 = $row-> stuff1;
$tmp->stuff2 = $row->stuff2;
$ret[] = $tmp;
}
mysql_free_result($result);
return $ret;
}
更新:
コードの残りの部分は、DBからデータを引っ張るための標準的なものである私は、マルチクエリを使用してのAmerbの提案を使用しようとしています。私はそうのようなクエリを連結:
$query = "SET @rank = 0";
$query .= "SELECT @rank:[email protected] +1 as rank...
私は結果を変更:
$result = $mysqli_multi_query($query);
しかし、それはいくつかの理由で失敗しています。私はPHP 5.2を実行しているマシンです。助言がありますか?
"クエリ"を実行するためにどのようなコードを使用していますか?実際には2つのクエリ(SELECTの前にセミコロンがあることに注意してください)とPHP MySQLバインディングの少なくともいくつかは、同じ呼び出しで複数のクエリを期待しません。 – Amber
@Amber、こんにちはAmberさん、メッセージに感謝します。私はいくつかのコードを追加しました。これは、dbからデータを引き出すための通常のコードです。私はあなたのポイントを見ます ";"。その問題を回避する方法はありますか?ありがとうございました。 – Laxmidi
http://php.net/manual/en/mysqli.multi-query.php – Amber