2016-12-02 48 views
-2

提前感謝任何想法?我一直在試圖解決這一謝謝版本多在php錯誤中搜索數據

<?php 
    mysqli_connect("localhost","root","bsithg1","webproj") or die("Could not connect"); 

$output=''; 
    if(isset($_POST['search'])){ 
$searchq = $_POST['search']; 
$searchq = preg_replace("#[^0-9a-z]#i","",$searchq); 
$query = mysqli_query("SELECT * FROM remittancetracking WHERE TrackingNo LIKE '%$searchq%' OR amount LIKE '%$searchq%'"); 

$count = mysqli_num_rows($query); 
if ($count == 0){ 
$output = ' There was no search result'; 
}else{ 
    while($row = mysqli_fetch_array(query)){ 

     $ns=$row['namereceiver']; 
     $cn=$row['ContactNosender']; 
    $output .= '<div>'.$ns.''.$cn.'</div>'; 
    } 

} 

} 

?> 
<form method="POST"> 
<input type="TEXT" name="search" placeholder="Search for Tracking Number..."/> 
<input type="SUBMIT" name= "" value="OK"/> 
</form> 
<?php print("$output");?> 

它給了我這兩個錯誤

警告(!):mysqli_query()預計至少2個參數,1 C中給出 :\ wamp64 \ WWW \上線項目\的search.php 8

警告(!):mysqli_num_rows()預計參數1是 mysqli_result,空

搜索跟蹤號碼... OK 有沒有搜索結果

回答

2

變化:

mysqli_connect("localhost","root","bsithg1","webproj") or die("Could not connect"); 

分爲:

$con = new mysqli("localhost","root","bsithg1","webproj"); 

,然後改變:

$query = mysqli_query("SELECT * FROM remittancetracking WHERE TrackingNo LIKE '%$searchq%' OR amount LIKE '%$searchq%'"); 

進入:

$query = mysqli_query($con,"SELECT * FROM remittancetracking WHERE TrackingNo LIKE '%$searchq%' OR amount LIKE '%$searchq%'"); 

爲什麼?

因爲你缺少這個參數你mysqli_query

鏈接

只是程序性的風格:)由mysqli_connect()或mysqli_init(返回鏈路標識符

來源:http://php.net/manual/en/mysqli.query.php

+0

謝謝我跟着你的意見,它給了我這個錯誤 警告:mysqli_query()期望參數2是字符串,感謝您的幫助 –

+0

錯誤已經說過了。檢查第二個參數是否是一個字符串。 – Irvin

+0

也是這個'mysqli_fetch_array(query)'不會工作;-) – Qirel