2015-11-18 2 views
0

$ emptyNumbers имеет 2 элемента, а $ qMarks - «?,?». В чем проблема?PHP PDO: Недопустимый номер параметра

if(($key = array_search($row['nummer'], $emptyNumbers)) !== false) { 
unset($emptyNumbers[$key]); 
} 
echo sizeof($emptyNumbers)."==>".$qMarks; // 2 ==> ?,? 
$qMarks = str_repeat('?,', count($emptyNumbers)-1) . '?'; 
$getPlayerData=$db->prepare("SELECT number,surname,firstname,position,job FROM player WHERE nummer IN ($qMarks)");   
$getPlayerData->execute($emptyNumbers); 

--> Error: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined 
+1

написать письмо $ getPlayerData-> выполнить(); –

+0

Затем я получаю сообщение об ошибке «Никакие параметры не были связаны». – Kewitschka

+0

В какой строке вы получили ошибку –

ответ

1

Проблема заключалась в том, что я ранее не устанавливается, значения от $ emptyNumbers и я не переупорядочить массив, так что пустые значения.

if(($key = array_search($row['nummer'], $emptyNumbers)) !== false) { 
unset($emptyNumbers[$key]); 
//delete the gaps in the array! 
$emptyNumbers = array_values($emptyNumbers); 
} 

$qMarks = str_repeat('?,', count($emptyNumbers)-1) . '?'; 
$getPlayerData=$db->prepare("SELECT number,surname,firstname,position,job FROM player WHERE nummer IN ($qMarks)");   
$getPlayerData->execute($emptyNumbers); 
Смежные вопросы