2012-07-19 3 views
0

이 쿼리는 데이터베이스의 행을 업데이트하지 않습니다.MySQLi 절차 쿼리가 작동하지 않습니다.

$link = mysqli_connect("localhost", "username", "password", "database"); 
mysqli_query("UPDATE `LOGIN` SET `HASH`='$hash' WHERE `USER`='$user'"); 

단순히 행의 해시를 업데이트하지 않습니다. PMA에서 쿼리를 확인했는데 올바르게 실행되고있는 것 같습니다. $ $ hash와 $ user 변수를 화면에 출력하여 유효한지 확인했습니다. mysqli_connect 자격 증명도 정확합니다 ... 모든 입력?

나는 또한 이것을 mysqli_query에 집어 넣었고 서버에 오류가 있다고 믿는 것처럼 "오류 desc :"를 출력했습니다.

or die("Error desc: ".mysqli_error($link)); 

도움 주셔서 감사합니다!

편집 : 테이블에는 약 3 개의 레코드가 있으므로 여기에는 중복되지 않습니다. 또한 누구나 언급하기 전에 각 사용자의 테이블에 기본 키를 추가 할 것이고 무엇이 계속되고 있는지 파악한 후에 mysqli를 OO 스타일로 전환 할 것입니다.

+0

[* bind_param *] (http://php.net/manual/en/mysqli-stmt.bind-param.php)을 사용하고 쿼리에서 모든 인용 부호와 역 인용 부호를 제거하십시오. – alfasin

+0

감사합니다. – user1062058

답변

1

alfasin는

그것은 좋은 일 bind_param (http://www.php.net/manual/en/mysqli-stmt.bind-param.php)를 사용하는 코멘트에 썼다. OO 및 절차 적 모두에 좋습니다.

-1

$ link = mysqli_connect ("localhost", "username", "password", "database"); $ result = mysqli_query ($ link, "UPDATE LOGIN SET HASH = '$ hash'WHERE USER = '$ user'");

관련 문제