Начал разбираться в mysql и сразу проблемы

12
verhmax
На сайте с 01.12.2005
Offline
191
762

создал базу на сайте, создал такблицу, в таблице 5 полей, с названиями 1, 2, 3, 4, 5. тип: текстовые. больше ничего не делал, так и нажал создать.

php код:

<?php

$hostname="localhost:3306";

$username="amsros_verh";

$password="makcim";

$dbName="amsros_baza";

$dbTable ="111";

mysql_connect($hostname, $username, $password) or die("не подключились");

mysql_select_db($dbName) or die("не выбрали базу");

// до этого мометна все отлично

INSERT INTO `$dbName`.`$dbTable` (`1`) VALUES ('вася')

а тут постоянно ошибка, чтоб я не менял:-(

Parse error: syntax error, unexpected T_STRING in index.php on line 11

где подвох???

[Удален]
#1

>INSERT INTO `$dbName`.`$dbTable` (`1`) VALUES ('вася')

Глубокомысленно. А имя базы тут причем? Да и вообще весь запрос через... Книжку почитать не пробовали? Ну или mysql.com? Описание инсерта?

M
На сайте с 21.02.2008
Offline
46
#2

Попробуйте так:

mysql_query("Insert into `имя табл` (`имя поля1`, `имя поля2`) values ('значение поля1', 'значение поля2';");

S
На сайте с 09.10.2007
Offline
186
#3

синтаксис SQL там правильный (хотя конечно не стоит таблицы и поля так называть). скорее всего какуюто кавычку не заэскейпили

Удобная панель для доменных имен (http://panel.started.ru/) с массовыми операциями. Индивидуальные цены по запросу.
I
На сайте с 05.06.2006
Offline
117
#4
verhmax:
создал базу на сайте, создал такблицу, в таблице 5 полей, с названиями 1, 2, 3, 4, 5. тип: текстовые. больше ничего не делал, так и нажал создать.
php код:
<?php
$hostname="localhost:3306";
$username="amsros_verh";
$password="makcim";
$dbName="amsros_baza";
$dbTable ="111";

mysql_connect($hostname, $username, $password) or die("не подключились");
mysql_select_db($dbName) or die("не выбрали базу");
// до этого мометна все отлично
INSERT INTO `$dbName`.`$dbTable` (`1`) VALUES ('вася')
а тут постоянно ошибка, чтоб я не менял:-(
Parse error: syntax error, unexpected T_STRING in index.php on line 11

где подвох???

МуSQL есть такая фича "Вставить". Зайдите туда и добавьте запись к БД. И посмотрите, какой код выдаст майскл.

Миграция с ISPManager 4 в VestaCP (https://chast.in/copy-users-from-ispmanager-2-vestacp.html) Хостинг серверов, пользуюсь сам (http://vps-server.ru/rp/pl.php?96)
verhmax
На сайте с 01.12.2005
Offline
191
#5
Markig:
mysql_query("Insert into `имя табл` (`имя поля1`, `имя поля2`) values ('значение поля1', 'значение поля2';");

вот этот вариант заработал. только вот почему другие варианты котрые я пробовал не работали?

sun
На сайте с 22.10.2005
Offline
81
sun
#6
verhmax:
вот этот вариант заработал. только вот почему другие варианты котрые я пробовал не работали?

А какие были другие варианты?

Весь код.

Или вы в php тупо пытались исполнить

ivtrans:
INSERT INTO `$dbName`.`$dbTable` (`1`) VALUES ('вася')
?
devmen.com (http://devmen.com/)
verhmax
На сайте с 01.12.2005
Offline
191
#7

sun, я вроде ясно написал, в этой только строке ошибка. Вы подумали что я без конекта и выбора базы сразу пытался записать данные???? так вот и нет, в первом посте описано в какой строке ошибка

sun
На сайте с 22.10.2005
Offline
81
sun
#8
ivtrans:
<?php
$hostname="localhost:3306";
$username="amsros_verh";
$password="makcim";
$dbName="amsros_baza";
$dbTable ="111";

mysql_connect($hostname, $username, $password) or die("не подключились");
mysql_select_db($dbName) or die("не выбрали базу");
// до этого мометна все отлично
INSERT INTO `$dbName`.`$dbTable` (`1`) VALUES ('вася')
а тут постоянно ошибка, чтоб я не менял:-(

то что у вас коннект есть я вижу и то что функции отправки запроса нет. Просто строка запроса. Я по этому и спросил.

verhmax
На сайте с 01.12.2005
Offline
191
#9

ещё вот такой трабл. в базе забиты поля:

id mail nazva opisanie

56 s@s.ru назва1 описание1

49 i@s.ru назва2 описание3

хочу вывести строки. пишу:

$r=mysql_query("SELECT * FROM `$dbName`.`$dbTable`");

for($i=0; $i<mysql_num_rows($r); $i++)

{

$f=mysql_fetch_array($r);

echo"$f[0] - $f[1] - $f[2] - $f[3]<br>";

}

выводит только $f[0] - $f[1] а дальше пусто, хотя поля заполнены. почему так?

название и описание вообще не выводит, даже если их выводить без первых двух полей

iexpert
На сайте с 01.09.2005
Offline
184
#10
verhmax:
ещё вот такой трабл. в базе забиты поля:
id mail nazva opisanie
56 s@s.ru назва1 описание1
49 i@s.ru назва2 описание3

хочу вывести строки. пишу:
$r=mysql_query("SELECT * FROM `$dbName`.`$dbTable`");
for($i=0; $i<mysql_num_rows($r); $i++)
{
$f=mysql_fetch_array($r);
echo"$f[0] - $f[1] - $f[2] - $f[3]<br>";
}

выводит только $f[0] - $f[1] а дальше пусто, хотя поля заполнены. почему так?
название и описание вообще не выводит, даже если их выводить без первых двух полей

$r=mysql_query("SELECT * FROM `$dbName`.`$dbTable`");

while($item = mysql_fetch_assoc($r))

{

echo $item["id"]." - ".$item["mail"]." - ".$item["nazva"]." - ".$item["opisanie"]."<br>";

}

Гораздо приятнее иметь дело с названиеми полей, нежли с индексами, (mysql_fetch_assoc вместо mysql_fetch_array), меньше шансов запутаться, да и в самой конструкции ошибка у вас... не будет работать так mysql_fetch_array.

если уж так делать, в зависимости от num_rows, то надо что то вроде:

for($i=0; $i<mysql_num_rows($r); $i++)

{

echo mysql_result($r, $i, "id")." - ".mysql_result($r, $i, "mail")." - ".mysql_result($r, $i, "nazva")." - ".mysql_result($r, $i, "opisanie")."<br>";

}

Бойтесь ваших желаний, ибо они могут исполниться
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий