-1
У меня есть переменнаяMySQL вставить несколько строк из взрываются
$allnames = 'John,Peter,Maya';
и я пытаюсь проверить, если каждое имя существует в user
таблице, и если он существует, я хочу вставить имя каждого в одну строку в другую таблицу ,
$allnames = 'John,Peter,Maya';
$names = explode(",", $allnames);
foreach($names as $name)
{
$checkusers = $db->query_read("SELECT username,userid FROM " . TABLE_PREFIX . " `user` WHERE username = '".$name."' ");
$results = $db->fetch_array($checkusers);
$db->query_write("INSERT INTO " . TABLE_PREFIX . " `invite_users` (username) VALUES ('".$results['userid']."')
");
}
Решение:
$string = mysql_real_escape_string($_POST['userstag']);
$arr = explode(",",$string);
$sql = $db->query_read("SELECT username FROM " . TABLE_PREFIX . " `user` WHERE username IN ('".implode("', '", $arr) . "')");
while($r = $db->fetch_array($sql))
{
$sqli = $db->query_write("INSERT INTO " . TABLE_PREFIX . " invite_users (username) VALUES ('".$r['username']."')
");
}
Вы должны проверить и вернуть SQL ошибки. Нет допустимого значения sql, если 'TABLE_PREFIX' не является пробелом или пустой строкой. –
Является ли это 'mysqli', PDO или что-то еще? Вы столкнулись с серьезными проблемами из-за двух [ошибок SQL-инъекций] (http://bobby-tables.com/), потому что ни одно из ваших значений [правильно экранировано] (http://bobby-tables.com/php). – tadman
@tadman, это 'MYSQL' – user3745594