내 함수는 다음과 같습니다.해시가 항상 0으로 표시되는 이유는 무엇입니까?
function process_image($path) {
global $mysqli;
list($width,$height) = getimagesize($path);
$hash = md5_file($path,true);
$pic = $mysqli->prepare('INSERT INTO pictures() VALUES()');
$pic->execute();
$pic_id = $pic->insert_id;
$size = $mysqli->prepare("INSERT INTO picture_sizes (filename, type, picture_id, hash, width, height) VALUES (?,'FULL',?,?,?,?)");
$size->bind_param('sibii',$path,$pic_id,$hash,$width,$height);
if(!$size->execute()) {
echo $size->error.'<br/>';
}
}
'해시'필드는 항상 데이터베이스에 0으로 표시됩니다. BINARY(16)
으로 설정했습니다. 내가 $size->bind_param
을 잘못 사용하고있는 것 같아서 올바르게 처리하는 방법을 알 수 없습니다. $hash
는 바이너리이므로 b
을 사용해야합니다. 그렇지 않습니다.
거짓을 반환하지 않습니다. 나는 그것을 출력하려했다. 괜찮아. 꽤 그것이 내 인서트와 관련이 있는지 확인하십시오. – mpen
매개 변수 유형에'b' 대신's'을 사용하려고하면 어떻게됩니까? – GolezTrol
참으로 해시가 blob로 입력되는 이유에 대해 혼란 스럽습니다. – dispake