2014-10-27 2 views
0

У меня есть хранимая процедура:PHP, MySql хранимых процедур с входными параметрами

DELIMITER $$ 

CREATE PROCEDURE `SignUp`(
IN p_emailid VARCHAR(100), 
IN p_pwd VARCHAR(100) 
) 
BEGIN 
Insert into Users(
emailid, 
pwd 
) 
values(
p_emailid, 
p_pwd 
); 
END 

На странице PHP:

include("config.php"); 

try{ 
$stmt = $DBH->prepare('CALL SignUp(:p_username, :p_password)'); 

$stmt->bindParam(':p_username','Hiiiiiiiiii',PDO::PARAM_STR,100); 

$stmt->bindParam(':p_password','1111111111111',PDO::PARAM_STR,100); 

$stmt->execute(); 
} 
catch (PDOException $e) { 
print "Error!: " . $e->getMessage() . "<br/>"; 
die(); 
} 

я получаю исключение: Фатальная ошибка: Не удается передать параметр 2 по ссылке

Куда пошло не так? Пожалуйста помоги.

ответ

0

Ну, это именно то, что он говорит. Вы не можете передать ссылку на значение только для переменной. Вам необходимо переписать код наподобие:

$username = 'Hiiiiiiiiii'; 
$password = '1111111111111'; 

$stmt->bindParam(':p_username', $username, PDO::PARAM_STR,100); 
$stmt->bindParam(':p_password', $password, PDO::PARAM_STR,100); 

Удачи вам!

Смежные вопросы