2013-04-26 3 views
-2

Вот мой код, где я пытаюсь выполнить мои запросы:Почему мои запросы терпят неудачу?

foreach ($ageGroups as $ageGroup) { 
    if ($mysqli->query("INSERT INTO national_age_gender_demographics (age_group, male_pop, female_pop, both_pop, male_percent, female_percent, both_percent, males_per_100_females) VALUES(". $ageGroup[0].", ".$ageGroup[1].", ".$ageGroup[2].", ".$ageGroup[3].", ".$ageGroup[4].", ".$ageGroup[5].", ".$ageGroup[6].", ".$ageGroup[7].")")) { 
     printf("Created row"); 
    } 
} 

$ ageGroups представляет собой массив массивов, содержащих вложенные массивы для каждой строки моей таблицы.

Итак, не могли бы вы помочь мне здесь?

+1

вы можете задать СУБД 'mysqli_error_list()' http://php.net/manual/en/mysqli.error-list.php – Ejaz

+2

Вы получили сообщения об ошибках? Где ваши обработчики ошибок? В противном случае мы просто догадываемся. – Kermit

+0

Помогите себе взглянуть на сгенерированный SQL, запросив вручную запросы, чтобы вы могли получить интерактивную обратную связь и использовать общий журнал запросов Mysql - или любую комбинацию из вышеперечисленного. – Jon

ответ

2

Заключите значения на одинарные кавычки, например:

VALUES('". $ageGroup[0]."', '".$ageGroup[1]."', '".$ageGroup[2]."', '". //etc 
+0

Нельсон прав. Вы также можете изучить выполнение var_dump в своих SQL-операторах, если они вам неприятны. Вы также можете выполнить echo $ mysqli-> ошибку при сбое для отладки. – Kevin

+0

Ну, данные выглядят как INT для меня (male_pop, female_pop и т. Д. –

+0

@FC. Вы можете без проблем заключать поля INT в одинарные кавычки с MySQL. – Nelson

Смежные вопросы