dongshui2254 2015-07-16 11:47
浏览 31

为什么MySQL和PHP的这种组合不起作用?

Can anyone tell me if the following MySQL procedure along with a PHP script work?

I've set up mysql procedure here and I think it makes sense but the PHP script will print error. By that I'm guessing that there were 0 rows effected?

MySQL:

DELIMITER $$
CREATE procedure spPlayer (IN pName NVARCHAR(50), IN pMobileNumber NVARCHAR(50), IN pTime datetime, OUT pID INT)
begin

select count(*) into @cnt FROM tblnewusers;
IF @cnt < 12 THEN
    insert into tblplayers (Name, MobileNumber, Time)
    values
    (pName, pMobileNumber, pTime);
    SELECT pID = @@IDENTITY;
END IF;
END$$
DELIMITER ;

PHP:

<?php
$dt = new datetime();
$name = "Test";
$mobile = "1234567";
$time = $dt->format('Y-m-d H:i:s');

$dbhost = 'dbHost here';
$dbuser = 'dbUser here';
$dbpass = 'dbPass here';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn)
{
    die('Could not connect: '. mysql_error());
}   

mysql_select_db("SafeDropbox", $conn);

$result = mysql_query("CALL spPlayer();");

if($result) {
    echo "Success";
}
else {
    echo "Error";   
}

?>

EDIT Here's the MySql table set up it it helps!

enter image description here

  • 写回答

1条回答 默认 最新

  • duanbushi1479 2015-07-16 12:15
    关注

    This is an assumption answer, and this could definetly be more detailed and refined:

    When you echo mysql_error();it produces the following error for you:

    ErrorIncorrect number of arguments for PROCEDURE safedropbox.spPlayer; expected 4, got 0

    When you created your procedure you set it with 4 arguments:

    CREATE procedure spPlayer (IN pName NVARCHAR(50), IN pMobileNumber NVARCHAR(50), IN pTime datetime, OUT pID INT)
    

    Hence, when you call it you might need to provide spPlayer with with 4 arguments as well:

    $result = mysql_query("CALL spPlayer();");
    
    评论

报告相同问题?

悬赏问题

  • ¥15 我的代码无法在vc++中运行呀,错误很多
  • ¥50 求一个win系统下运行的可自动抓取arm64架构deb安装包和其依赖包的软件。
  • ¥60 fail to initialize keyboard hotkeys through kernel.0000000000
  • ¥30 ppOCRLabel导出识别结果失败
  • ¥15 Centos7 / PETGEM
  • ¥15 csmar数据进行spss描述性统计分析
  • ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 wpf界面一直接收PLC给过来的信号,导致UI界面操作起来会卡顿
  • ¥15 init i2c:2 freq:100000[MAIXPY]: find ov2640[MAIXPY]: find ov sensor是main文件哪里有问题吗