我正在使用MySQLi Procedural从MYSQL数据库运行查询。我只看到如何使用MySQLi面向对象的代码完成此操作。
它可以在localhost上完美运行,但是在远程服务器上,我收到一条错误消息,提示我有超过MAX_JOIN_SIZE行。我使用什么代码来解决此错误?
我已经查看了所有与该错误有关的页面,尽管我知道问题出在哪里,但我仍无法解决。我看到的所有示例都使用MySQLi面向对象的代码。我尝试限制(LIMIT 30)返回的记录数,但这没什么区别。
<?php
$con=mysqli_connect("localhost","******","******","ps10");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$query_rs4 = "SELECT * FROM student_data INNER JOIN users ON student_data.class = users.class INNER JOIN ext_writing_tbl ON student_data.id = ext_writing_tbl.id";
$rs4 = mysqli_query($con, $query_rs4)or die( mysqli_error($con) );
$row = mysqli_num_rows($rs4);
echo "There are " . $row . " students in this class";
?>
这是完整的错误消息。
SELECT将检查超过MAX_JOIN_SIZE行;检查您的WHERE,如果SELECT没问题,请使用SET SQL_BIG_SELECTS = 1或SET MAX_JOIN_SIZE =#。
它应该输出到表中。
答案 0 :(得分:0)
我现在确定这是服务器上设置的,并且超出了我的控制范围。然后如何编写不使用三个表的查询(两次使用INNER JOIN)?