我看过我们关于这个问题的帖子,但是,这些帖子只是建议使用mysqli_report(mysqli_report_ERROR|mysqli_report_STRICT)而不是ERROR_reporting(E_ALL)rror_reporting(E_ALL)
我想知道这个错误是否还有其他原因。这是一个简单的select语句导致了这个问题,php文件由4个表单组成,并在其前面插入了一个重复的key语句。
$prod_sel = $dbc->query("SELECT * FROM Product");
$prod_sel->data_seek(0);
while ($output = $prod_sel->fetch_assoc()) {
$prod_run .= $output['Product_Name'] . '<br>';
$_SESSION['Product_Name'] = $output['Product_Name'];
}
//session_start does not work here
print "Restaurant is :" . $_SESSION['Product_Name'];
$prod_sel->free();
$prod_sel->close();
您的Product表没有列索引,您应该修复它以获得更好的性能
只需添加以下代码,就可以始终禁用此mysqli错误
mysqli_report(MYSQLI_REPORT_INDEX);
您可以在此处找到有关启用/禁用内部报告功能的完整列表
我建议你阅读这篇关于PHP的好文章;MYSQL通信
我认为您有两个问题。
- 你抓mecahinsm没有任何例外
- 您的产品表没有任何主列
尝试修复您的产品表结构,使某些列自动递增,或使某些列成为已存在的主列