작동하지 않는 코드가 있습니다. 양식을 사용하여 값 (녹색, 파란색, 빨간색 등)을 게시하고 해당 게시물 값을 변수 이름의 일부로 사용하여 데이터베이스에서 무언가를 조회합니다.가변 변수가 작동하지 않습니다.
$mine = 'green';
$querymine = $dbcon->prepare('SELECT * FROM mine WHERE playerid = :playerid');
$querymine->execute(array(
'playerid' => $playerid
));
$rowmine = $querymine->fetch(PDO::FETCH_ASSOC);
if (${'rowmine[\'has'.$mine.'\']'} == 0) {
header("location:mine.php");
die();
}
"hasgreen"열을 조회합니다.이 경우 INT 4입니다. 문제는, 그것은 $ rowmine [ 'hasgreen']이 NULL이라는 것을 말해 주므로 "mine.php"로 되돌아갑니다. 나는 문제가 무엇인지 모르겠다. 어쩌면 variablename에서 \ '를 사용 했을까?
감사합니다. 작동합니다! 나는 초보자이며 인터넷 검색과 실험을 통해 PHP를 배우려고 노력하고 있습니다. – s1h4d0w
* 매우 *주의하십시오. PHP 자습서 등을 검색 할 때 ** CRAP ** (예, 대담한 대문자 사용)이라는 놀라운 양이 있습니다. 특히 최근이 아닌 경우. 솔직하게 말해서, 이것은 PHP가 아닌 파이썬을 배우기 위해 항상 누군가를 추천하는 이유 (언어 외에도 훨씬 더 좋은 이유) 중 하나입니다. 어쨌든, 준비된 진술로 올바른 방법으로 SQL을 수행하는 가상 +1! – ThiefMaster
감사합니다. 나는 가능한 한 안전하고 SQL injection에 대한 적절한 보호를 즉시 사용하려고 노력합니다. 나는 보안을 구현하는 정확한 방법을 연구하고 아무도 내 코드 나 데이터베이스를 망칠 수 없는지 확인하기 위해 많은 시간을 보냅니다. 내가해야 할 일은 내 코드를 주석 달기뿐입니다 :) – s1h4d0w