2011-11-09 25 views
8

này mysqli_query kết quả lệnh trong báo lỗi dưới đâymysqli_query hy vọng ít nhất 2 thông số

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

"Cảnh báo: mysqli_query() dự kiến ​​ít nhất 2 thông số, 1 đưa ra trong"

gì thông báo lỗi này có nghĩa là gì và nó có thể được sửa chữa như thế nào?

+4

http://php.net/mysqli_query có câu trả lời (bạn cần phải xác định liên kết một cách rõ ràng khi bạn sử dụng các chức năng mysqli) –

Trả lời

5

Từ manual

Procedural style 

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

Bạn sẽ nhận thấy các biến $link$query.

Điều này có nghĩa là bạn cần chuyển hàm này thành tài nguyên liên kết mysqli hợp lệ cũng như truy vấn bạn muốn thực hiện. Điều này cho phép chức năng biết kết nối được thiết lập nào đến máy chủ để sử dụng.

Một tài nguyên liên kết có thể được tạo ra sử dụng:

chỉ

phong cách thủ tục: Một định danh liên kết được trả về bởi mysqli_connect() hoặc mysqli_init()

và một ví dụ về làm thế nào để làm như vậy có thể được tìm thấy trên trang hướng dẫn sử dụng nói trên.

2

Dường như bạn đang nhầm lẫn mysql_query với mysqli_query. Cái đầu tiên chấp nhận câu lệnh sql làm tham số đầu tiên, trong khi sau này mong đợi một định danh liên kết (được tạo ra bởi Mysqli :: connect) làm tham số đầu tiên và câu lệnh thứ hai.

Hai tiện ích không tương thích với nhau. Tôi đề nghị bạn chọn một, đọc các trang hướng dẫn về cách kết nối, thực hiện truy vấn, vv và quên các tồn tại khác. cái mà bạn chọn tùy thuộc vào bạn, mysqli có nhiều tính năng phong phú hơn nhưng phức tạp hơn.

+0

Cảm ơn, tôi nên đọc các tài liệu hơn – silberbaum

16

bạn cần chỉ định kết nối mà bạn đã thực hiện cho cơ sở dữ liệu của mình ở đâu đó trước đó trong trang của bạn. bạn nên đặt biến đó trong truy vấn. Giả sử bạn tạo một biến gọi là $ con. Sau đó, mã của bạn nên như thế này.

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>