0
執行事先準備好的聲明我的代碼如下這是給我編寫的語句行錯誤:得到錯誤在PHP
homepage.php
<html>
<head>
</head>
<body>
<ul id="list">
<li><h3><a href="#">tops</a></h3></li>
<li><h3><a href="#">suits</a></h3></li>
<li><h3><a href="#">jeans</a></h3></li>
<li><h3><a href="newpage.php?name=women">more</a></h3></li>
</ul>
</body>
</html>
newpage.php
<?php
$mysqli = new mysqli('localhost', 'root', '', 'shop');
if(mysqli_connect_errno()) {
echo "Connection Failed: " . mysqli_connect_errno();
}
?>
<html>
<head>
</head>
<body>
<?php
session_start();
$lcSearchVal=$_GET['name'];
//echo "hi";
$lcSearcharr=explode("-",$lcSearchVal);
$result=count($lcSearchVal);
//echo $result;
$parts = array();
$parts1=array();
foreach($lcSearcharr as $lcSearchWord){
$parts[] = '`PNAME` LIKE "%'.mysqli_real_escape_string($lcSearchWord).'%"';
$parts1[] = '`TAGS` LIKE "%'.$lcSearchWord.'%"';
//$parts[] = '`CATEGORY` LIKE "%'.$lcSearchWord.'%"';
}
$stmt = $mysqli->prepare("SELECT * FROM xml where ('.implode ('AND',?).')");
$stmt->bind_Param("s",$parts);
$list=array();
if ($stmt->execute()) {
while ($row = $stmt->fetch()) {
$list[]=$row;
}
}
$stmt->close();
$mysqli->close();
foreach($list as $array)
{
?>
<div class="image">
<img src="<?php echo $array['IMAGEURL']?>" width="200px" height="200px"/></a>
<?php
}
?>
</div>
</body>
</html>
沒有執行php文件中的SQL查詢。我收到以下錯誤:
mysqli_stmt::bind_param(): Number of variables doesn't match number of parameters in prepared statement
我不能糾正錯誤,我嘗試了很多。
我建議回聲-ING出來的SELECT語句,並張貼了結果,所以我們可以看到放在一起,整個查詢。 – AllisonC
mysqli和mysql混在一起... –
我在打印select語句先生後得到布爾值false。 – user3564442