2013-04-18 6 views
0

У меня есть три запроса о проверке формы для системы тегов с использованием mysqli. . Какова наилучшая практика для выхода из массива $ tag_no. . Когда массив $ tag_no передается из формы, числа передаются как строки, поэтому is_int не будет работать с $ tnumber, любыми идеями? . Это общая рекомендация для проверки массива тегов, переданных из формы.Ошибка INSERTING Array с подтверждением формы

Надеюсь, это ясно и лаконично, любая помощь будет высоко оценена. Спасибо заранее.

$tag_no = $_GET['tno']; 
$tno = mysqli_real_escape_string($link, $tag_no); 

if ($tag_no != false) { 
    $query = "INSERT INTO `uc` (`UNO`, `BNO`) VALUES ('$uno', '$box');"; 
    foreach ($tag_no as $tnumber) { 
     if (is_int($tnumber)) { 
     $query .= " 
     INSERT INTO `ut` (`UNO`, `TNO`) VALUES ('$uno', '$tnumber')"; 
     } else { 
     $query .= "INSERT INTO tags (TName) VALUES ('$tagname')"; 
     } 
    }; 
}; 
mysqli_multi_query($link, $query); 
+1

Даже локальный синтаксический ярлык сообщает вам о недостающих котировках. Это * настоящий * код, который вы опубликовали? –

+0

Почему бы вам не передать их как целые числа вместо строк, если это то, что вы хотите сделать? – SeanWM

+0

use [ctype_digit()] (http://php.net/manual/en/function.ctype-digit.php) function – 2013-04-18 19:39:54

ответ

0

Даже если вы используете mysql_multi_query(), вам нужно будет использовать ';' для разделения отдельных запросов.

Так изменить код:

foreach ($tag_no as $tnumber) { 
    if (is_int($tnumber)) { 
     $query .= " 
     INSERT INTO `ut` (`UNO`, `TNO`) VALUES ('$uno', '$tnumber');"; # <-- note the ; 
    } else { 
     $query .= "INSERT INTO tags (TName) VALUES ('$tagname');"; # <-- note the ; 
    } 
} 

Кроме того, я уверен, что, что это не получится:

foreach ($tag_no as $tnumber) 

$tag_no, как на самом деле строка и Еогеасп ожидает массив. (Вы использовали его с mysqli_real_escape_string().)

+0

Тип $ tnumber не является целым числом, потому что его отправлено с – 2013-04-18 19:40:39

+0

@Akam Проверьте мое обновление. – hek2mgl

+0

Спасибо, hek, is_array ($ tag_no) возвращает 'array', есть что-то, чего я не вижу? – user1535190

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