2016-06-25 3 views
0

배열 bind_param을 전달하는 방법.PHP :이를 알아 내기 위해 노력했습니다

$insertSql = 'INSERT INTO table (id,date,name,numFarts) VALUES (?,?,?,?)'; 
$values = (1,'0000-00-00 00:00:00','Bob',5); 
$bind_param_str = ('issi'); 
if ($stmt = $db->prepare ($insertSql)) { // $inserSql is a pre-writted sql insert 
    $stmt->bind_param($bind_param_str,$values); 
    $stmt->execute(); 
    $stmt->close(); 
} 

이 작동하지 않습니다,하지만 난 bind_param()

어떤 아이디어로 $values를 전달하는 다른 방법을 생각할 수 없다? 당신이 call_user_func_array을 사용할 수 있습니다 당신은 인수로 배열을 전달해야하는 기능에 대한

+0

어떤 의도를 명확히하십시오. $ insertSql은 어떻게 생겼습니까? – lexx9999

+0

@ lexx9999 동적으로 생성되므로 본질적으로 간단한 것을 추가했습니다. 나는 이것에 대한 답을'call_user_func_arr' 또는 이와 비슷한 것을 사용하는 것으로 추측하고있다. –

+0

작동하지 않는다고 할 때 당신이 의미하는 것은 무엇입니까? 오류가 있습니까? 그렇다면 어떤 행과 메시지가 있습니까? ID가 AutoIncrement 필드입니까? – dbmitch

답변

0

/S. 이 예에서

: 당신이 array($stmt,'bind_param') 대신 $stmt->bind_param 필요한 이유

array_unshift($values,$bind_param_str); 
call_user_func_array(array($stmt,'bind_param'),$values); 

이 부탁하지 마십시오. 구문과 관련이 있습니다 -> 확신합니다.

+0

., 불행히도. 그것을 우리가 웹 사이트 내 선택이 아니다 실행하는 데 사용하는 소프트웨어를 주사를하지만 용서할 실수 것이다. 나는 위의 게시 된 링크를 확인합니다. –

+0

기다립니다, 당신은 OP –

+0

있어 @ YourCommonSense 나는 틀린 것을 알아 내려고 아직도 이것을보고 있습니다. –

관련 문제