그래서 $ _POST 변수를 덤프 할 때 원하는 출력을 얻는이 업데이트 문이 있습니다.
$stmt = $dbConnectionW->prepare("UPDATE members SET
fname='". mysqli_real_escape_string($dbConnectionW, $_POST['fname']) ."',
sname='". mysqli_real_escape_string($dbConnectionW, $_POST['sname']) ."',
gender='". mysqli_real_escape_string($dbConnectionW, $_POST['gender']) ."',
nationality='". mysqli_real_escape_string($dbConnectionW, $_POST['nation']) ."',
year='". mysqli_real_escape_string($dbConnectionW, $_POST['year']) ."',
dep1='". mysqli_real_escape_string($dbConnectionW, $_POST['dep1']) ."',
dep2='". mysqli_real_escape_string($dbConnectionW, $_POST['dep2']) ."',
f_pos='". mysqli_real_escape_string($dbConnectionW, $_POST['f_pos']) ."',
f_region='". mysqli_real_escape_string($dbConnectionW, $_POST['f_region']) ."',
exp_comp='".$comp."',
exp_dep='".$comp_dep."',
shareinfo='".$shareinfo."',
interest='".$interest."',
userconfirm = '1'
WHERE confirmcode = '".$passkey."';");
$stmt->execute();
if (!$stmt)
{
die('Error: ' . mysqli_error($dbConnectionW));
}
$smst-> close(); }}} mysqli_close($dbConnectionW);
}
기본적으로 문제는 데이터베이스를 업데이트하지 않는다는 것입니다! 오류없이 작동하지만이 sql / php 시도 후에 데이터베이스가 업데이트되지 않습니다.
누구든지 내 코드에서 잘못된 것을 볼 수 있습니까? 내 데이터베이스가 업데이트되지 않는 이유는 무엇입니까? 나는 지난 한 시간 동안 이것을 시작했습니다.
준비된 문에서 변수를 이스케이프 할 필요가 없습니다. 대신 문을 실행하기 전에 변수를 바인딩해야합니다. 또한 열 이름은`표시 안에 있어야합니다.
$stmt = $dbConnectionW->prepare("UPDATE members SET
`fname`=?,
`sname`=?,
`gender`=?,
`nationality`=?,
`year`=?,
`dep1`=?,
`dep2`=?,
`f_pos`=?,
`f_region`=?,
`exp_comp`=?,
`exp_dep`=?,
`shareinfo`=?,
`interest`=?,
`userconfirm`=?
WHERE `confirmcode`=?");
$stmt->bind_param('ssssissssssssis',$_POST['fname'],$_POST['sname'],$_POST['gender'],...);
$stmt->execute();
간결함을 위해 모든 바인딩 된 매개 변수를 포함하지 않았습니다.
도움이 되었기를 바랍니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다