|
|
|
| Только начинаю разбираться с mysql.. и вот проблемка..
Есть двумерный массив $out, надо его записать в бд
//создаю таблицу
mysql_query("CREATE TABLE main (id INT NOT NULL auto_increment, number INT, category TEXT, info TEXT, key TEXT, PRIMARY KEY (id))", $msconnect);
// запись
mysql_query("INSERT INTO main VALUES ('', '$out[1][0]', $out[2][0]', '$out[3[0]', $key)", $msconnect);
// запись
mysql_query("INSERT INTO main VALUES ('', '$out[1][1]', $out[2][1]', '$out[3][1]', $key)", $msconnect);
и т.д.
подскажите, где ошибка?
Warning: mysql_query(): 3 is not a valid MySQL-Link
и думаю, логично не писать строчку для каждого элемента массива, а попробовать перебрать все элементы, но не очень представляю как это сделать.
может что-то типа этого
for ($i = 1; $i <= count($out[1])-1; $i++) {
mysql_query("INSERT INTO main VALUES ('', '$out[1][$i]', $out[2][$i]', '$out[3][$i]', $key)", $msconnect);
}
но это не работает... | |
|
|
|
|
|
|
|
для: s)))
(28.04.2007 в 04:21)
| | Если у тебя двумерный массив, нужно обойти его 2мя циклами а потом писать в базу!
примерно так:
foreach($ar1 as $ar2)
{
foreach($ar2 as $value)
{
$insert=mysql_query("INSERT INTO table VALUES($value)");
}
}
|
| |
|
|
|
|
|
|
|
для: ШИМ
(28.04.2007 в 10:58)
| | И база не загнется от количества запросов?
Собственно, проблема не в этом. | |
|
|
|
|
|
|
|
для: s)))
(28.04.2007 в 04:21)
| | Откуда берется $msconnect? | |
|
|
|
|
|
|
|
для: Trianon
(28.04.2007 в 11:01)
| | Trianon
а почему база должна загнуться от кол-ва запросов?
записать мне надо немного не так, как в том цикле, исходная таблица должна принимать вид
id INT NOT NULL auto_increment
number INT
id number $out[1][0] $out[2][0] $out[3][0] $key
id number $out[1][1] $out[2][1] $out[3][1] $key
id number $out[1][2] $out[2][2] $out[3][2] $key
id number $out[1][3] $out[2][3] $out[3][3] $key
....
id number $out[1][$i] $out[2][$i] $out[3][$i] $key
в каждом из массивов out[1], out[2], out[3] одинаковое количество элементов i
$msconnect взял из какого-то мануала, коннект к базе, но в других местах не встречал.
Кому не сложно расскажите, как записать таким образом массив в базу! | |
|
|
|
|
|
|
|
для: s)))
(28.04.2007 в 13:13)
| | Из кода не видно, каким образом переменной $msconnect присваивается значение.
Проблема у Вас, в основном, в этом. В этой переменной почемуто лежит тройка вместо дескриптора соединения с БД. Сам запрос в целом должен работать. Как минимум на простейших строках. | |
|
|
|
|
|
|
|
для: Trianon
(28.04.2007 в 16:01)
| | спасибо, попробую без этой ненужной переменной) хых.. в статье какой-то про нее прочитал) | |
|
|
|
|
|
|
|
для: s)))
(28.04.2007 в 20:32)
| | Если Вы присвоите ей значение, которое возвратил вызов mysql_connect(), скрипт будет только надежнее. Но совать в mysql_query переменную, содержащую мусор - бессмысленно. | |
|
|
|