За последние 24 часа нас посетили 20282 программиста и 1712 роботов. Сейчас ищут 1907 программистов ...

Mysql проблема с insert

Тема в разделе "PHP и базы данных", создана пользователем bestov, 1 июн 2010.

  1. bestov

    bestov Активный пользователь

    С нами с:
    1 июн 2010
    Сообщения:
    19
    Симпатии:
    0
    Ребята столкнулся с одной проблемой и не как не могу ее решить уже как 4 часа.
    Вот код того что я делаю:
    Код (Text):
    1.    $sql = "INSERT INTO ".$db_n."_stats_ip SET `id_user`='$id', `ip`='$botIP'";
    2.    $kk=mysql_insert($sql);
    а вот функция mysql_insert:
    Код (Text):
    1. function mysql_insert($sql) {
    2. include "config.php";                  
    3. $insert = mysql_query("$sql");
    4.    if (!mysql_query($insert)){
    5.       $file_name= $log."/mysql.log";
    6.       $script = $_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING'];
    7.       $date_add = date("Y-m-d H:i:s");
    8.       $file = fopen ($file_name,"a-");
    9.       $str =("Дата: ".$date_add." Скрипт: ".$script.' Запрос: '.$sql." Ошибка: ".mysql_error(). "|\n");  
    10.       fputs ( $file, $str);                    
    11.       $insert = "0";  
    12.    }
    13.    else{
    14.       $insert = "1";               
    15.    }
    16.  return $insert;   
    17. }
    и при таком раскладе все отлично добавляется и работает, но года я смотрю в mysql.log мне там выдает такую ошибку:
    Код (Text):
    1. Дата: 2010-06-01 02:02:52
    2. Скрипт: /partners/user_click.php?partners=4
    3. Запрос: INSERT INTO partners_stats_ip SET `id_user`='4', `ip`='188.115.232.114'
    4. Ошибка: 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|
    может кто нить с таким сталкивался?
     
  2. Einbaukueche

    Einbaukueche Активный пользователь

    С нами с:
    14 апр 2010
    Сообщения:
    34
    Симпатии:
    0
    Адрес:
    Там, где много гор и пива.
    Вы выполняете INSERT 2! раза. Читайте мануал:
    http://php.net/manual/en/function.mysql-query.html

    Первый раз удачно вот здесь:
    Код (Text):
    1.  
    2. $insert = mysql_query("$sql");
    А второй раз неудачно - естественно - вот здесь
    Код (Text):
    1.  
    2. if (!mysql_query($insert)){
    Первый раз вам в $insert записывается true, который вы используете во втором запросе как строку SQL, что естественно не идёт.

    Вывод: измените второе на просто
    Код (Text):
    1.  
    2. if(!$insert) {
     
  3. bestov

    bestov Активный пользователь

    С нами с:
    1 июн 2010
    Сообщения:
    19
    Симпатии:
    0
    О точно спасибо большое, глюканул наверное из-за того что с 11 часов утра до 4 ночи скрипт пишу :)