2011-11-09 88 views
8

mysqli_query命令結果下面mysqli_query期望至少2個參數在誤差

mysqli_query("INSERT INTO `counter`.`hits` (`page_hits`) VALUES ('".$hits."')"); 

「警告:mysqli_query()預計至少2個參數,在1中給出」

什麼這個錯誤信息的意思是,它如何解決?

+4

http://php.net/mysqli_query有答案(你需要明確指定的鏈接時,您使用的mysqli功能) –

回答

5

manual

Procedural style 

mixed mysqli_query (mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ]) 

你會注意到$link$query變量。

這意味着你需要傳遞一個有效的mysqli鏈接資源以及你想要執行的查詢。這使該功能知道建立到服務器的連接使用。

甲鏈路資源可使用被創建:

只有程序樣式:由mysqli_connect返回的鏈路標識符() 或mysqli_init()

和如何執行實例以便能可以在上述手冊頁面找到。

2

看來你是混淆mysql_query與mysqli_query。前者接受sql語句作爲第一個參數,而後者希望鏈接標識符(由Mysqli :: connect創建)作爲第一個參數,而語句作爲第二個參數。

這兩個擴展不能相互兼容。我建議你選擇一個,閱讀關於如何連接,執行查詢等手冊頁,並忘記其他存在。你選擇哪一個取決於你,mysqli功能更豐富,但結果更復雜。

+0

謝謝,我應該閱讀文檔更 – silberbaum

16

您需要指定您在頁面之前的某處連接到數據庫。你應該把這個變量放在查詢中。假設你創建了一個名爲$ con的變量。那麼你的代碼應該是這樣的。

mysqli_query($con,"INSERT INTO `counter`.`hits` (`page_hits`) VALUES ('".$hits."')"); 
-5
<?php 
include_once('insert.php'); 
if(isset($_POST['submit'])) 
{ 
    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $address = $_POST['address']; 
    $adm= $_POST['admission']; 
    mysqli_query("INSERT INTO students_recrod(name,email,address,joining_date) VALUES ('$name', '$email','$address', '$adm')"); 
} 
?> 


<!DOCTYPE html> 
<html> 
<head> 
    <title>Sign up form</title> 
</head> 
<body> 
<form action="" method="post" id=""> 
<label>Name</label><br> 
<input type="text" name="name" id=""><br> 

<label>Email</label><br> 
<input type="text" name="email" id=""><br> 

<label>Address</label><br> 
<input type="text" name="address" id=""><br> 

<label>Admission date</label><br> 
<input type="text" name="admission" id=""><br><br> 

<input type="submit" name="submit" id=""> 
</form> 
</body> 
</html> 
相關問題