2013-12-11 20 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頁面的ID ....如何將參數值從PHP頁面

我打電話從PHP頁面
的過程傳遞我不知道怎麼傳參數值...

既然你利用,而不是interpo的mysqli使用prepared statements我寫這樣

<? 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

頁lating查詢字符串,這會使您的代碼對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而不是mysqli – user2786525

+0

你有點困惑。您正在使用MySQL服務器,但同時您正在使用['mysqli_ *'](http://lt1.php.net/mysqli)('mysqli_connect()','mysqli_query',...) php擴展訪問數據 – peterm

+0

錯誤我把mysqli。 – user2786525

相關問題