Php 查询在本地主机上运行良好;但是,不会在web服务器上运行-获取错误(SELECT将检查超过MAX_JOIN_SIZE的行)
我在sql查询中使用了多个联接。他们在我的本地主机上工作得很好。但是,当我把我的Php网站上传到我的iPageWeb托管服务器上时。我网站上的mysqli查询停止工作。我收到以下错误:Php 查询在本地主机上运行良好;但是,不会在web服务器上运行-获取错误(SELECT将检查超过MAX_JOIN_SIZE的行),php,mysql,Php,Mysql,我在sql查询中使用了多个联接。他们在我的本地主机上工作得很好。但是,当我把我的Php网站上传到我的iPageWeb托管服务器上时。我网站上的mysqli查询停止工作。我收到以下错误: #1104 - The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET MAX_JOIN_SIZE=# if the SELECT is okay 我
#1104 - The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET MAX_JOIN_SIZE=# if the SELECT is okay
我在这里读到了一些2009年到2013年的老文章;其中讨论了为联接中包含的列编制索引。最后,我能够在Phpmyadmin中运行查询。但是,这对网站本身没有帮助。我无法使用mysqli查询通过网页获取记录
我的查询示例:
<?php
require_once "../config.php";
$state = htmlspecialchars($_GET['state']);
if($state != ""){
$sql=" SELECT
item.*,
sku.*,
pricing.*,
shipping.*
FROM sku
INNER JOIN item
ON SUBSTRING(sku.item_id,2,8) = SUBSTRING(item.item_id,1,8)
LEFT JOIN pricing
ON sku.sku_code = pricing.sku_code
LEFT JOIN shipping
ON sku.sku_code = shipping.sku_code
WHERE item.name = ? AND sku.sku_code = ? AND sku.sku_add = ?;
";
if($stmt = $mysqli->prepare($sql)){
// Bind variables to the prepared statement as parameters
$stmt->bind_param("sss", $param_a,$param_b,$param_c);
// Set parameters
$param_a = $_REQUEST["name"];
$param_b = $_REQUEST["sku_code"];
$param_c = $_REQUEST["sku_add"];
// Attempt to execute the prepared statement
if($stmt->execute()){
$result = $stmt->get_result();
// Check number of rows in the result set
if($result->num_rows > 0){
// Fetch result rows as an associative array
while($row = $result->fetch_array(MYSQLI_ASSOC)){
$name = $row['name'];
$size = $row['size'];
$color = $row['color'];
$price = $row['price'];
/*and so on...*/
}
} else{
exit;
}
}
// Close statement
$stmt->close();
}
// Close connection
$mysqli->close();
}
?>
<input name="name" id="name" type="text" value="<?php echo $name; ?>">
<input name="size" id="size" type="text" value="<?php echo $size; ?>">
<input name="color" id="color" type="text" value="<?php echo $color; ?>">
<!--and so on...-->
如果SQL\u BIG\u选择没有帮助,则表中的记录太多。。。