2013-04-10 72 views
-1
function up(){ 
    $name = $_REQUEST['name']; 
    $result = mysqli_query("SELECT pos FROM ladder WHERE name = $name"); 
    $pos = mysql_result($result, 0); 
    mysqli_query("UPDATE ladder SET pos=$pos WHERE pos=$pos-1"); 
    mysqli_query("UPDATE ladder SET pos=$pos-1 WHERE name=$name"); 
} 

function down(){ 
    $name = $_REQUEST['name']; 
    $result = mysqli_query("SELECT pos FROM ladder WHERE name = $name"); 
    $pos = mysql_result($result, 0); 
    mysqli_query("UPDATE ladder SET pos=$pos WHERE pos=$pos+1"); 
    mysqli_query("UPDATE ladder SET pos=$pos+1 WHERE name=$name"); 
} 

即時得到如下錯誤:爲什麼這些查詢不做任何事情?

警告:mysqli_query()預計至少2個參數,1 /home/a1240711/public_html/default.php給出第16行

警告: mysql_result():提供的參數不是有效的MySQL結果資源,位於第17行的/home/a1240711/public_html/default.php

警告:mysqli_query()需要至少2個參數,1在/ home/a1240711 /第18行

的public_html/default.php

所有的錯誤都是指down()函數中的行。爲什麼它不關心up()函數,它們幾乎完全相同。

如果有人能改正這種情況,我會喜歡它,因爲我已經忘記了關於PHP和MySQL的所有信息,而且我只是在做一個簡單的小網站。

編輯:這可能工作得很好。我只是意識到,我仍然在地址欄中有類似?run=down的東西,它可以運行沒有參數的down函數。

+1

你使用的是mysql還是mysqli?如果前者使用後者。如果是後者,請閱讀手冊。 – deceze 2013-04-10 23:23:26

+0

「*我仍然在地址欄中找到類似」run = down「的東西,它沒有任何參數。」哦,Arceus,請不要告訴我你使用'eval'來做到這一點...... ? – 2013-04-10 23:24:58

+0

你在混合連接類型。 – Rujikin 2013-04-10 23:35:27

回答

1

雖然mysql_query默認爲上次打開的連接,但mysqli_query要求您傳遞對連接資源的引用。

此外,消毒。 xkcd

+0

謝謝你的清理。 3年前我在學校學習這門課時,我從來沒有學過關於mysqli的知識,所以我不知道那是甚麼。以某種方式粘貼了複製品:) – Alex 2013-04-10 23:49:01

相關問題