2013-12-11 4 views
0
DELIMITER $$ 

DROP PROCEDURE IF EXISTS `users` $$ 
CREATE DEFINER=`root`@`localhost` PROCEDURE `users`(in id int(25)) 
BEGIN 

    declare empcode varchar(25); 

    set empcode=(select emp_code from transaction_user_register where t_reg_id=id); 

    delete from transaction_user_register where t_reg_id=id and emp_code=empcode; 

    update user_register set active='2' where reg_id=id and emp_code=empcode; 


END $$ 

DELIMITER ; 

как передать идентификатор из PHP страницы ....как передать значение параметра со страницы PHP

я называю процедуру из PHP страницы
я не знаю, как передать значение параметра ...

я пишу страницу как

<? require_once"db.php"; 
echo $id = $_REQUEST['t_reg_id']; 

$connt = mysql_connect($server1, $user1, $pass1, $dbname1) or die ("__construct() Function Problem => ". mysqli_error()); 
$resr= mysql_query($connt,"CALL users('$id')"); 
mysql_close($connt); 




echo "Cron Job Run Succesfully........"; 

?> 
+0

, посылая как это, вы получаете какие-либо ошибки? –

+0

просто совет, вы не должны принимать значения '$ _REQUEST []' и использовать их непосредственно в вашей mysqli_query', я считаю, что это риск для безопасности. –

+0

. Я не знаю, как передать значение id. – user2786525

ответ

0

Поскольку вы использованием mysqli использовать prepared statements вместо interpo задерживая строки запросов, что оставляет ваш код широко открытым для SQL-инъекций.

Это сказанное ваш код может выглядеть примерно так

<?php 
require_once('db.php'); 
$id = $_REQUEST['t_reg_id']; 

$db = new mysqli($server1, $user1, $pass1, $dbname1); 
if (!$db) { 
    die('Could not connect: ' . $db->connect_error); 
} 
$stmt = $db->prepare('CALL users(?)'); 
if (!$stmt) { 
    die('Prepare failed: ' . $db->error); 
} 
$stmt->bind_param('i', $id); // that's assuming id is an integer value 
if(!$stmt->execute()) { 
    die('Execute failed: ' . $db->error); 
} 
$stmt->close() 
$db->close(); 

... 
+0

Я использую mysql not mysqli – user2786525

+0

Вы немного смущены. Вы используете MySQL-сервер, но в то же время вы используете ['mysqli_ *'] (http://lt1.php.net/mysqli) ('mysqli_connect()', 'mysqli_query', ...) расширение php для доступа к данным – peterm

+0

по ошибке i put mysqli. – user2786525

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