Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не обновляется таблица БД
 
 автор: mrdoss   (10.02.2011 в 15:10)   письмо автору
 
 

Помогите два дня в мучениях

<?
include ('blocks/db.php');
if (isset(
$_POST['m_k'])) {$m_k $_POST['m_k'];
if (
$m_k == '') {unset($m_k);}}

if (isset(
$_POST['m_d'])) {$m_d $_POST['m_d'];
if (
$m_d == '') {unset($m_d);}}

if (isset(
$_POST['title'])) {$title $_POST['title'];
if (
$title == '') {unset($title);}}

if (isset(
$_POST['img'])) {$img $_POST['img'];
if (
$img == '') {unset($img);}}

if (isset(
$_POST['text'])) {$text $_POST['text'];
if (
$text == '') {unset($text);}}

if (isset(
$_POST['cat'])) {$cat $_POST['cat'];
if (
$cat == '') {unset($cat);}}

if (isset(
$_POST['flv_film'])) {$flv_film $_POST['flv_film'];
if (
$flv_film == '') {unset($flv_film);}}

if (isset(
$_POST['id'])) {$id $_POST['id'];
if (
$id == '') {unset($id);}}

$m_k stripslashes($m_k);
$m_k htmlspecialchars($m_k);
$m_d stripslashes($m_d);
$m_d htmlspecialchars($m_d);
$title stripslashes($title);
$title htmlspecialchars($title);
$text stripslashes($text);
$text htmlspecialchars($text);
$flv_film stripslashes($flv_film);
$flv_film htmlspecialchars($flv_film);

if (isset(
$m_k) && isset($m_d) && isset($title) && isset($img) && isset($text) && isset($cat) && isset($flv_film))
{
$result mysql_query("UPDATE data SET `m_k`='$m_k', `m_d`='$m_d', `title`='$title', `img`='$img', `text`='$text', `cat`='$cat', `flv_film`='$flv-film'  WHERE `id`='$id'");
var_dump ($result);
$myrow mysql_query($result) or die(mysql_error());
if (
$result == "true") {echo "<p>Сериал обновлен</p>";}
else {echo 
"<p>Сериал не обновлен.</p>";}
}
else 
{
echo 
"<p>Вы ввели не всю информацию, сериал не обновлен.</p>";
}

?>

и вылазиет ошибка
bool(true) 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 '1' at line 1
Вчем проблема подскажите.

  Ответить  
 
 автор: neadekvat   (10.02.2011 в 15:18)   письмо автору
 
   для: mrdoss   (10.02.2011 в 15:10)
 

Зачем вы результат запроса снова суете в запрос? :)
$result = mysql_query();
$myrow = mysql_query($result) or die(mysql_error());

  Ответить  
 
 автор: mrdoss   (10.02.2011 в 15:21)   письмо автору
 
   для: neadekvat   (10.02.2011 в 15:18)
 

Посмотреть какая ошибка, если без нее то пишет что "Сериал обновлен" но на самом деле не обновляется.

  Ответить  
 
 автор: neadekvat   (10.02.2011 в 15:27)   письмо автору
 
   для: mrdoss   (10.02.2011 в 15:21)
 

<?php
if (isset($m_k) && isset($m_d) && isset($title) && isset($img) && isset($text) && isset($cat)
 && isset(
$flv_film)) 

$result mysql_query("UPDATE data SET `m_k`='$m_k', `m_d`='$m_d', `title`='$title', `img`='$img',
`text`='
$text', `cat`='$cat', `flv_film`='$flv-film'  WHERE `id`='$id'"); 
var_dump ($result); 
$myrow mysql_query($result) or die(mysql_error()); 
if (
$result == "true") {echo "<p>Сериал обновлен</p>";} 
else {echo 
"<p>Сериал не обновлен.</p>";} 

else  

echo 
"<p>Вы ввели не всю информацию, сериал не обновлен.</p>"
}

Вот это можно заменить (а может, даже нужно) на это:
<?php
if (isset($m_k$m_d$title$img$text$cat$flv_film)) {
    
$result mysql_query("UPDATE data SET `m_k`='$m_k', `m_d`='$m_d', `title`='$title',
`img`='
$img', `text`='$text', `cat`='$cat', `flv_film`='$flv-film'  WHERE `id`='$id'");
    if ( ! 
$result)
        echo 
mysql_error();
    else
        echo 
'<p>Сериал не обновлен.</p>';
} else
    echo 
'<p>Вы ввели не всю информацию, сериал не обновлен.</p>';

Ну а то, что вы сделали, делать нельзя, это совершенно неверно (я про подстановку результата запроса (ресурса или булевого значения) в другой запрос).

Да, а еще полезный метод - собирать запрос сначала в переменную, а потом подставлять эту переменную в функцию запроса:
$sql = "SELECT/INSERT/UPDATE .....";
$query = mysql_query($sql);
И при возникновении проблем вы легким движением руки смотрите, что у вас там в запросе то:
echo $sql;

  Ответить  
 
 автор: mrdoss   (10.02.2011 в 15:49)   письмо автору
 
   для: neadekvat   (10.02.2011 в 15:27)
 

$sql = "SELECT/INSERT/UPDATE .....";
$query = mysql_query($sql);
Большое спасибо, помогло).

  Ответить  
 
 автор: Trianon   (10.02.2011 в 15:29)   письмо автору
 
   для: neadekvat   (10.02.2011 в 15:18)
 

Offtopic.
neadekvat, прошу прощения...
У Вас не оставлен е-мэйл в профиле.
С Вами можно как-то связаться?

  Ответить  
 
 автор: neadekvat   (10.02.2011 в 15:32)   письмо автору
 
   для: Trianon   (10.02.2011 в 15:29)
 

Отправил вам письмо

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования