2017-11-16 2 views
-3

여기에 업데이트 된 코어가 있습니다. 그것을하는 적당한 방법입니까? 웹에서 자습서를 따라 Prepared Statements를 시도하지만 잘 작동하지 않습니다.PHP 업데이트를 수행하는 올바른 방법입니까?

$Enrolsql = "Select * FROM Enrol WHERE ActivityID=$activityid AND UserPhone=$userPhone AND UseUp=1"; 

$Enrolresult = $conn->query($Enrolsql); 
if ($Enrolresult->num_rows > 0) { 

    $ssql = "UPDATE Enrol SET UseUp=0 WHERE ActivityID=$activityid"; 
    if (mysqli_query($conn, $ssql)) { 
     echo "+1+"; //successfully Used. 
    } else { 
     echo "+2+"; // System Error. 
    } 
} else { 
    echo "+0+"; // Coupon is not Vaild 
} 

$conn->close(); 

데이터베이스 테이블 정보 : http://php.net/manual/en/mysqli.query.php에 따르면

enter image description here

+3

당신의 쿼리가 성공적으로 실행한다는 것을 의미한다. 영향을받은 행 수를 확인하여 어떤 일이 발생했는지 확인하십시오. 그리고 SQL 인젝션을 읽어야합니다. – jeroen

+1

if 루프가 쿼리 실행과 관련이 있으며 유효하지 않거나 유효하지 않은 값입니다. – pr1nc3

+2

문제가 생기기 전에 http://bobby-tables.com을 방문하고 SQL 주입에 대해 알아야합니다. 실제로 코드는 실제로 취약하며 전혀 저장하지 않습니다. 시스템에 대한 더 깊은 지식 없이도 데이터베이스 전체가 몇 초 안에 해킹 당할 수 있습니다. 절대로 사용자 입력을 직접 쿼리에 넣지 마십시오. 대신 준비된 문을 사용하십시오. 준비된 진술에 대해 배우고 bobby-tables.com에서 사용하는 방법을 배울 수 있습니다 - 정말 쉬운 주제이며 2 분 안에 코드가 변경됩니다. 이 작업을 수행하는 것이 좋습니다. – Twinfriends

답변

0

,

mysqli_query 반환, 실패하면 FALSE. SELECT, SHOW, DESCRIBE 또는 EXPLAIN 쿼리가 성공하면 mysqli_query()는 mysqli_result 객체를 리턴한다. 성공한 다른 쿼리의 경우 mysqli_query()는 TRUE를 반환합니다.

당신이 UPDATE를 실행하고, 업데이트가 실패하지 않은 가정 것을 감안할 때 당신은 그래서 당신이 현재 여러 검사를 할 수

+0

감사합니다. 저에게 도움이됩니다. –

+0

@EricChong 도움이된다면, 내 대답을 upvoting하거나 받아 들일만한 답으로 표시해 주시겠습니까? – Spangen

+0

@EricChong 도움이된다면이 답변을 upvote 할 수 있습니까? – Spangen

0

+1+을 인쇄 다시 TRUE을 얻는 것 (다만 영향을 미치지 아니합니다) :

확인하는 경우 오류 :

if (!mysql_error()) print 'Query executed successfully.'; 

확인 영향을받는 행 :

if(mysql_affected_rows() || mysql_affected_rows() == 0){ 
    // no error 
} else { 
    // error 
} 
,
0

이 게시물에 대한 긴 자습서를 전적으로 제공합니다. 이 기사에서는 PHP에서 HTML 구현을 사용한 업데이트 쿼리에 대해 논의 할 것입니다. 시작하겠습니다. 여기

<?php 
 
require_once 'dbconnection.php'; 
 
if(isset($_REQUEST['submit'])){ 
 
$name = $_REQUEST['name']; 
 
$age = $_REQUEST['age']; 
 
$phone = $_REQUEST['phone']; 
 
$email = $_REQUEST['email']; 
 
$user_id=$_REQUEST['user_id']; 
 
$qry = mysqli_query($con,"UPDATE `user` SET `name`='".$name."', `email`='".$email."',`age`='".$age."',`phone`='".$phone."' WHERE `u_id`='".$user_id."'"); 
 
if(!$qry){ 
 
echo "Faild to insert data in database"; 
 
} 
 
else{ 
 
$_SESSION['success'] = "Data updated Successfully"; 
 
echo "<script>window.location.href='update.php?u_id='".$user_id."'</script>"; 
 
} 
 
} 
 
?>

클릭 : for insert, Update and delete complete query with HTML implementation in PHP