무엇이 잘못 되었나요? 구문 오류가 발생합니다. 이 코드는 일주일 전에 작동 했었고 변경되지 않았습니다.내 mysql 코드에 어떤 문제가 있습니까?
phpmyadmin에서 쿼리 자체를 시도하면 구문 오류가 발생합니다. 어떤 도움이 필요합니까?
무엇이 잘못 되었나요? 구문 오류가 발생합니다. 이 코드는 일주일 전에 작동 했었고 변경되지 않았습니다.내 mysql 코드에 어떤 문제가 있습니까?
phpmyadmin에서 쿼리 자체를 시도하면 구문 오류가 발생합니다. 어떤 도움이 필요합니까?
마지막 값 이후에는 쉼표가 표시됩니다. 의도적입니까?
'$version', '0', '1',);
당신이 전혀 쿼리를 변경하지 않은 다른 사람들이 지적 쉼표 문제는 답이 아닌 경우가
하고 그 쉼표 무엇인가, 다음 입력을 변경해야합니다. $username
및 $password
과 같은 값은 어디서 오는가? 그들은 제대로 탈출 했습니까/살균 되었습니까? 입력이 이스케이프되지 않고 특정 값에 작은 따옴표가 있으면 구문 오류가 발생합니다 (더 중요한 것은 SQL 주입에 노출된다는 것입니다).
값이 현재 이스케이프되지 않은 경우 가장 좋은 해결책은 삽입의 각 변수에 mysql_real_escape_string()
을 사용하거나 prepared statements을 사용하는 것입니다.
코드에 준비된 문을 사용하지 않는 것은 오류입니다.
더 안전하고 더 좋은 방법이 어디 코드 mr.robus 코드에 따라됩니다 mysqli::prepare 또는
$stmt = $mysqli->prepare("INSERT INTO `vewy`.`accountinfo` (`id`, `username`, `password`) VALUES (0, ?, ?)");
$stmt->bind_param('ss', $username, $password);
$username = 'admin';
$password = 'stackoverflow';
$stmt->execute();
PHP 코드가 아닌 생성 된 쿼리 표시 –
쿼리에 넣기 전에 변수를 이스케이프 처리합니까? 그렇지 않다면, 변수 중 하나에''를 쓰면 구문 에러 (그리고 보안 문제) – arnaud576875