我对存储过程和错误消息的php和mysqli组合使用有一个小问题。
情况: 我有一个基于LAMP服务器的站点。最近,我一直在寻找使用mysql存储过程从表中返回值的方法,例如具有播放器x的id的行数。数据库已成功连接到并在我的问题中提到的字符串文字查询中正常工作。
所以我编写了我的存储过程:
CREATE PROCEDURE findPlayer (IN seekID INT)
BEGIN SELECT COUNT(*) FROM Player WHERE Player_id = seekID;
END
然后我继续使用我的php代码来调用存储过程:
$myVar = mysqli_query($conn, 'CALL findPlayer('.$player_id.')');
$count = mysqli_num_rows($myVar);
我不想继续使用字符串查询,如下所示:
$myVar = mysqli_query($conn, 'SELECT * FROM Player WHERE PlayerID ='.$player_id)
$count = mysqli_num_rows($myVar);
关于错误消息的部分,我想显示一条消息,该消息使用在我的表中生成的可能错误。例如,如果正在插入一个播放器(在一个单独的存储过程中)并且它们的平均分数为负,我想以某种方式捕获并返回一条消息(或者直接打印一个消息)。
一些有用但不够具体的信息:
Retrieving Multiple Result sets with stored procedure in php/mysqli
http://www.rvdavid.net/using-stored-procedures-mysqli-in-php-5/
http://nirodhasoftware.com/site/how-to-call-mysql-stored-procedures-from-php/