[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: mysql_error
ssvih
Выручайте индекс следующий
<?php include ("blocks/db.php");?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta
http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php ?></title>
</head>

<body>
<table
width="800" border="0">
<tr>
<?php
include ("blocks/header.php");?>
</tr>
<tr>
<?php
include ("blocks/left.php");?>
<td
width="590"><?php include ("blocks/nav.php"); echo "<br><br>"; ?></td>
</tr>
<tr>
<?php
include ("blocks/tail.php");?>
</tr>
</table>
</body>
</html>


db.php вышледит так вот

<?php
$db = mysql_connect('localhost','miaa','eUWHGTqQTxQcr3MT');
mysql_select_db('program'.'$db');
?>

Почему не может подключиться к базе код

<td width="200">
<div>
Языки програмирования</div>

<?php

$res = mysql_query("SELECT id, title FROM data",$db);
if (!$res)
{echo "<p>Запрос выборки из данных не прошел. Код ошибки:";
exit(mysql_error());
}

if (mysql_num_rows($res) > 0)
{
$myrow = mysql_fetch_array($res);
do{
printf("<a href='view_cat.php?id=%s'>%s</a><br>",$myrow["id"], $myrow["title"]);
}while ($myrow = mysql_fetch_array($res));
}else echo "Информация не может быть извлечена.";



?>



</td>





Спустя 3 минуты, 4 секунды (12.06.2011 - 17:18) inpost написал(а):
mysql_connect() or die(mysql_error());
тоже самое с остальными функциями с mysql. Там напишут ошибку. Без неё - не поможем.

Спустя 2 минуты, 10 секунд (12.06.2011 - 17:20) ssvih написал(а):
Прошу прощения не понял, нужно дописать
mysql_connect() or die(mysql_error());
куда именно? Если не сложно!

Спустя 9 минут, 59 секунд (12.06.2011 - 17:30) inpost написал(а):
$db = mysql_connect('localhost','miaa','eUWHGTqQTxQcr3MT') or die(mysql_error());
mysql_select_db('program'.'$db') or die(mysql_error());
mysql_query($query) or die(mysql_error());

Спустя 4 минуты, 50 секунд (12.06.2011 - 17:35) ssvih написал(а):
Спс но теперь выдает Unknown database 'program$db'

Спустя 3 минуты, 9 секунд (12.06.2011 - 17:38) inpost написал(а):
ssvih
Во первых, функция принимает 2 параметра, между параметрами какой знак надо ставить?
Точка является присоединением одних данных к другим. Одинарные кавычки возвращают не переменную, а знак $ в том виде, который ты записал.
Тебе ответ написали, у тебя отсутствует таблица с именем: 'program$db'

Спустя 2 минуты, 35 секунд (12.06.2011 - 17:41) ssvih написал(а):
Да действительно исправил


<?php
$db = mysql_connect('localhost','miaa','eUWHGTqQTxQcr3MT');
mysql_select_db('program'.'$db');
?>

На


<?php
$db = mysql_connect('localhost','miaa','eUWHGTqQTxQcr3MT');
mysql_select_db('program');
?>

И заработало, респект inpost +1

Спустя 27 минут, 28 секунд (12.06.2011 - 18:09) ssvih написал(а):
блин и снова ошибка (
Выдает след ошибку
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM settings WHERE page= 'index'' at line 1

Что можно предпринять?
Вот код

<?php include ("blocks/db.php");
$result = mysql_query("SELECT title, FROM settings WHERE page= 'index'",$db) or die(mysql_error());
if (!$result)
{echo "<p>Запрос выборки из данных не прошел. Код ошибки:";
exit(mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$myrow2 = mysql_fetch_array($result);
}else echo "Информация не может быть извлечена.";


?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta
http-equiv="Content-Type" content="text/html; charset=cp1251_general_ci" />
<title><?php ?></title>
</head>

<body>
<table
width="800" border="0">
<tr>
<?php
include ("blocks/header.php");?>
</tr>
<tr>
<?php
include ("blocks/left.php");?>
<td
width="590"><?php include ("blocks/nav.php"); echo "<br><br>";
echo "<H1 class='head'>".$myrow2["title"]."</H1>";
echo $myrow["text"];
?></td>
</tr>
<tr>
<?php
include ("blocks/tail.php");?>
</tr>
</table>
</body>
</html>



Спустя 18 минут, 19 секунд (12.06.2011 - 18:27) inpost написал(а):
$result = mysql_query("SELECT title, (ЗАПЯТАЯ!!! не нужна) FROM settings WHERE page= 'index'",$db) or die(mysql_error());

А правильно вообще так:
$result = mysql_query("SELECT `title` FROM `settings` WHERE `page` = 'index'") or die(mysql_error());

Спустя 13 минут, 2 секунды (12.06.2011 - 18:40) ssvih написал(а):
Забыл после титла поставить техт, у почему правильным будет твой вариант именно с 'что-то из БД' в чем отличия!?

Спустя 27 минут, 52 секунды (12.06.2011 - 19:08) inpost написал(а):
ssvih
Имена ячеек и таблиц обрамляем кавычками теми.

Спустя 14 часов, 46 минут, 57 секунд (13.06.2011 - 09:55) linker написал(а):
Апострофами, кавычками обрамляем значения.

Спустя 18 минут, 15 секунд (13.06.2011 - 10:13) Игорь_Vasinsky написал(а):
Второй параметр mysql_query() - скорее всего придуман для того, если несколько подключений, поэтому его можно опустить:
[
php]$res = mysql_query("SELECT `id`, `title` FROM `data`") or die(mysql_query());

имена таблиц и столбцов - обрамляются апострофами, значения столбцов - одинарными ковычками.
Если в sql подставляешь переменные или константы и т.д. - то используй конкатенацию или фгурные скобки:
$res = mysql_query("SELECT `id`, `title` FROM `data` WHERE `id` = '".$id."'");
$res = mysql_query("SELECT `id`, `title` FROM `data` WHERE `id` = '{$id}'");

если в перемнной значение integer - то оинарные ковычки можно опустить.

для вывода ошибок связанных с БД, все её функции дописывай or die(mysql_error());
mysql_connect() or die(mysql_error());
mysql_query() or die(mysql_error());

это удобно при отладки.

В дальнейшем можешь сделать так:
в конфиге создать константу MOD_PRODACTION, bool типа, и её включать режим отладки и продакшн (запуск для юзеров, без вывода ошибок)

//false- выключен, идёт отладка, true - вкл - без тех ошибок
define("MOD_PRODACTION", false);
//работа с БД
//Проверим - если true
if(MOD_PRODACTION)
mysql_connect("server", "user", "pass") or die("Не могу подключиться к серверу БД");
else
mysql_connect("server", "user", "pass") or die(mysql_error());


вот таким макаром и всё остальное ;)

Спустя 24 минуты, 33 секунды (13.06.2011 - 10:37) inpost написал(а):
linker
А если быть ещё точнее, то обратный апостроф smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.