当我运行以下代码时,出现错误提示
致命错误:消息“未在查询/准备好的语句中使用索引”的未捕获异常“ mysqli_sql_exception”
$mysql = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME) or die('There was a problem connecting to the database'); if (mysqli_connect_errno()) { printf("DB error: %s", mysqli_connect_error()); exit(); }
$get_emp_list = $mysql->prepare("SELECT id, name FROM calc");
if(!$get_emp_list){
echo "prepare failed\n";
echo "error: ", $mysql->error, "\n";
return;
}
$get_emp_list->execute();
$get_emp_list->bind_result($id, $emp_list);
这是能干的模式-
calc
CREATE TABLE IF NOT EXISTS calc
( id
int(12) NOT NULL, yr
year(4) NOT NULL, mnth
varchar(12) NOT NULL, name
varchar(256) NOT NULL, paidleave
int(12) NOT NULL, balanceleave
int(12) NOT NULL, unpaidleave
int(12) NOT NULL, basesalary
int(12) NOT NULL, deductions
int(12) NOT NULL, tds
int(12) NOT NULL, pf
int(12) NOT NULL, finalsalary
int(12) NOT NULL, PRIMARY KEY (id
) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
看一下这个错误报告:#35450mysqli扩展报告了太多警告
引用笔记的几句话:
Mysqli扩展名抛出太多警告。 例如,“ SELECT * FROM table”将导致警告:“警告:mysqli :: query():查询/准备好的语句SELECT * FROM table中未使用索引...”
并且,引用另一个注释,这似乎很有趣:
使用mysqli_report()禁用该。
不幸的是,该功能已被弃用...来源:stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。