Нужно чтобы в базу данных в определенную таблицу внеслись записиь с 5 по 1455.
Я делаю так:

<?
$dbhost = “localhost”; // Хост
$dbuser = “user”; // Имя пользователя
$dbpassword = “pass”; // Пароль
$dbname = “dbname”; // Имя базы данных

$link = mysql_connect($dbhost, $dbuser, $dbpassword);

mysql_select_db($dbname, $link);

$x = 5;
while (x < 1455):
$query = “insert into b_user_group values(“.$x.”,’8′,’NULL’, ‘NULL’)”;
$x++;
endwhile;
mysql_query($query, $link);

mysql_close($link);?>

Но не работает почему-то. В чем может быть дело?

задан 13 сен ’11 в 11:23

2

Вы запрос формируете в цикле, а выполняете его вне цикла. Один раз.

ответ дан 13 сен ’11 в 11:28

1

$x = 5;
$query = “insert into b_user_group values “;
$comma = 0;
while (x < 1455) {
if ($comma) { $query .= ‘, ‘; } else $comma++;
$query .= ‘(‘.$x.’,’8′,NULL, NULL)’;
$x++;
}
$query .= ‘;’;
mysql_query($query, $link);

ответ дан 13 сен ’11 в 11:49

1

цикл while должен выглядеть так:

while ($x < 1455):
$query = “insert into b_user_group values(‘”.$x++.”‘,’8′,’NULL’, ‘NULL’)”;
mysql_query($query, $link);
endwhile;

ответ дан 13 сен ’11 в 11:39

2

<?php
$dbhost = “localhost”; // Хост
$dbuser = “user”; // Имя пользователя
$dbpassword = “pass”; // Пароль
$dbname = “dbname”; // Имя базы данных
$link = mysql_connect($dbhost, $dbuser, $dbpassword);
mysql_select_db($dbname, $link);

$x = 5;
$values = ”;
while ( x < 1455 ) {
if ( empty($values) ) {
$values .= ‘(‘ . $x . ‘,8,”NULL”,”NULL”)’;
} else {
$values .= ‘,(‘ . $x . ‘,8,”NULL”,”NULL”)’;
}
$x++;
}
$sql = ‘INSERT INTO `b_user_group` VALUES ‘ . $values;
mysql_query($sql, $link);
mysql_close($link);

ответ дан 20 июн ’13 в 4:59

Всё ещё ищете ответ? Посмотрите другие вопросы с метками php mysql или задайте свой вопрос.