การแปลงเอาต์พุต PHP เป็นข้อมูล JSON แต่มันให้ผลลัพธ์ที่แปลก

ฉันใช้วิธี ajax แต่ฉันใหม่กว่าเพราะ PHP ไม่สามารถเข้าใจความผิดพลาดของฉันได้

ฉันได้ตรวจสอบแล้วว่าแบบสอบถามนี้ทำงานได้ดีใน sql "SELECT * FROM activity where visitorid=2";

นี่คือรหัส Javascript ของฉัน

$(".followupdata").click(function(event){
    var userID=$(this).attr('uid');
   $.ajax({
       type:'POST',
       url:'getvisitordata.php',
       data:{userid:userID},
       success:function(data,status){
           console.log(data);
       }
   });        
});

และโค้ด getvisitordata.php ของฉัน

include "connection.php";

$query="SELECT * FROM activity where visitorid=2";
$data=mysqli_query($query);
$jsonData=array();

while($row=mysqli_fetch_array($data)){
    $jsonData[]=$row;
}
echo  json_encode($jsonData);

และนี่คือเอาต์พุตที่ฉันได้รับเป็นข้อมูล ajax


( ! ) คำเตือน: mysqli_query() คาดหวังอย่างน้อย 2 พารามิเตอร์ โดย 1 ตัวกำหนดไว้ใน C:\wamp\www\access\getvisitordata.php ออนไลน์ 5 Call Stack #TimeMemoryFunctionLocation 10.0000134720{main }( )..\getvisitordata.php:0 20.0600142176http://www.php.net/function.mysqli-query' target='_new'>mysqli_query ( )..\getvisitordata.php :5


person Amit Shakya    schedule 25.03.2016    source แหล่งที่มา


คำตอบ (3)


ฉันเข้าใจข้อผิดพลาดของฉัน ฉันลืมพูดถึงการเชื่อมต่อในการสืบค้น ควรเป็น mysqli_query($con,$query) แทนที่จะเป็น mysqli_query($query);

person Amit Shakya    schedule 25.03.2016

เพียงแค่ทำเช่นนี้

 $data=mysqli_query($query);
 json_encode($data); //encode to json
person Prashantkumar K B    schedule 25.03.2016

นี่คือวิธีการเขียน mysqli_query

mysqli_query ( mysqli connection variable,$query)

โดยที่ mysqli connection variable ฉันหมายถึง $mysqli

if,

$mysqli = new mysqli("localhost", "root", "pass", "database");

คุณกำลังใช้ mysql_fetch_array() ซึ่งจะทำให้สิ่งต่าง ๆ ช้าลงอย่างแน่นอน และถ้าฉันถูกต้องก็ต้องใช้หน่วยความจำมากขึ้นเช่นกัน

ใช้ :

mysql_fetch_assoc()
person Nirpendra Patel    schedule 25.03.2016