0
해고하지 않았습니다.두 번째 준비된 성명은 귀하의 시간 동안
아래에는 두 개의 prepared statement가 있습니다. & query2;
연결 문자열은
첫 번째 쿼리는 완벽하게 실행되고 데이터베이스를 업데이트하고 있습니다.
두 번째 쿼리는 오류를주지 않지만 아무것도 업데이트하지 않습니다.
"성공적인"실행 후에 기록 된 두 번째 쿼리를 보면 삽입 된 변수가 빈 문자열처럼 보입니다. 즉 RESTI
= ''
왜 이런 일이 발생합니까? 두 번째 쿼리를 실행하려면 내 코드가 올바른 순서로 있습니까? 여기
$row = 1;
$con=mysqli_connect("connect info");
if (mysqli_connect_errno())
{
//echo "Failed to connect to MySQL Error 1: " . mysqli_connect_error();
//error reporting done here
}
else
{
$con->autocommit(false);
$query = $con->prepare("UPDATE table where `INDEX`=?");
$query2 = $con->prepare("UPDATE table2 where (SELECT column from table where`RESTI`=?)");
$query->bind_param('i', $row);
$query2->bind_param('i', $row);
if($query->execute() == false)
{
//Failed!
/ERROR HANDLING
}
else
{
//SUCCESS
}
if($query2->execute() == false)
{
//Failed!
/ERROR HANDLING
}
else
{
//Success
}
$con->commit();
$query->close();
$query->close();
}
mysqli_close($con);
나, 그래서 두 쿼리는 아무 의미도하지 않습니다을 반환해야합니다 - 둘 다 아무것도 업데이트하지 않습니다 –
첫 번째 쿼리에서 데이터베이스를 어떻게 업데이트하고 있습니까? 또한 query2를 닫지 않고 대신 첫 번째 쿼리를 두 번 닫음에 유의하십시오. 정확히이 코드입니까? –