2013-12-11 1 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

같은 페이지를 쓰기 쿼리 문자열을 래팅하면 코드가 SQL injection에 광범위하게 공개됩니다.

되는이 코드는 어떤 오류가있다, 이런 식으로 보내

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

mysqli를 사용하지 않습니다. mysqli – user2786525

+0

약간 혼란 스럽습니다. MySQL 서버를 사용하고 있지만 동시에 [mysqli_ *] (http://lt1.php.net/mysqli) (mysqli_connect(), mysqli_query, ...)를 사용하고있다. 실수로 데이터를 액세스하는 PHP는 – peterm

+0

mysqli 넣어. – user2786525

관련 문제