W moim pliku PHP, używam tej linii do ściągania danych z mojej bazy danych MySQL:
$query = "SET @rank=0; SELECT @rank:[email protected] +1 as rank, Blah Blah...";
Gdybym sprawdzić SELECT w oknie phpMyAdmina SQL (bez $ query =) działa prawidłowo.
Ale jeśli użyję go w PHP, otrzymam błąd. Nie podoba mu się "SET @ rank = 0;" kawałek. Czy istnieje sposób użycia "SET @ rank = 0;" kiedy jest w "$ query ="? Czy jest w pobliżu praca?
Reszta kodu jest standardowe rzeczy do wyciągania danych z db:
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;
}
Aktualizacja: Próbuję użyć sugestię Amerb z użytkownikiem za pomocą multi-zapytania. I łączone kwerendy tak:
$query = "SET @rank = 0";
$query .= "SELECT @rank:[email protected] +1 as rank...
Zmieniłem wynik:
$result = $mysqli_multi_query($query);
Ale to w przypadku braku jakiegoś powodu. Jestem na komputerze z PHP 5.2. Jakieś sugestie?
Jakiego kodu używasz do uruchomienia "zapytania"? To właściwie dwa zapytania (zwróć uwagę na średnik przed 'SELECT') i przynajmniej niektóre z powiązań PHP MySQL nie oczekują wielu zapytań w tym samym wywołaniu. – Amber
@Amber, Cześć Amber dzięki za wiadomość. Dodałem trochę więcej kodu. Jest to zwykły kod do wyciągania danych z bazy danych. Widzę twój punkt dotyczący ";". Czy istnieje sposób na obejście tego problemu? Dziękuję Ci. – Laxmidi
http://php.net/manual/en/mysqli.multi-query.php – Amber