MySql not inserting


MySql not inserting

没有给我任何错误,我已经与服务器连接,但我仍然无法让它工作。

仍然无法添加消息,您是否看到任何错误?

function pridaj_tovar() {
    if ($link = spoj_s_db()) {    
    $sql = "INSERT INTO `Auto-Moto`".
            "(`Tovar`, `Kategoria`,`Mesto`, `Cena`, `ID`, `Popis`)".
            "VALUES".
            "('$_POST['nazov']', '$_POST['kategorie']', '$_POST['mesta']',' $_POST['cena']', NULL,'$_POST['popis']')";
        $result = mysql_query($sql, $link); 
        if ($result) {
            // unable to add
        echo '<p>inserting was successful.</p>'. "'n"; 
    } else {
            // unable to add!
        echo '<p class="chyba">Nastala chyba pri pridávaní tovaru.</p>' . "'n";  
    }
        mysql_close($link);
    } else {
        // NEpodarilo sa spojiť s databázovým serverom!
        echo '<p class="chyba">NEpodarilo sa spojiť s databázovým serverom!</p>';
    }
  }

您应该如何处理带有空格,破折号(等)的字段和表名:

  $sql = "INSERT INTO `Auto-Moto`".
   "(`Tovar`, `Kategoria`,`Mesto`, `Cena`, `ID`, `Popis`)".
   "VALUES".
   "('Something', 'Something1', 'word', '50', NULL, 'anotherword')";
  $sql = "INSERT INTO `Auto-Moto`". 
         "(`Tovar`, `Kategoria`,`Mesto`, `Cena`, `ID`, `Popis`)". 
         "VALUES". " 
         ('{$_POST['nazov']}', '{$_POST['kategorie']}', '{$_POST['mesta']}','{$_POST['cena']}',  
  NULL,'{$_POST['popis']}')";

你的查询方式有几个问题。

首先,您的表名是非标准的(Auto-Moto),因此您可能需要在它周围添加引号。其次,在适当的位置添加一些空间总是一个好的做法,以便您可以更改:

"VALUES"

," VALUES "

但是您需要提供您收到的错误和您的表结构。

您的Query中缺少了很多空格:

复制:

$sql = "INSERT INTO Auto-Moto ".
       "(Tovar, Kategoria, Mesto, Cena, ID, Popis) ".
       "VALUES ".
       "('Something', 'Something1', 'word', '50', NULL, 'anotherword')";

如果您想看到错误消息,请更改这一行:

$result = mysql_query($sql, $link);

:

$result = mysql_query($sql, $link) or die ("Error in query: $query. " . mysql_error());

但是您应该真正学习使用mysqli_*扩展,因为mysql_*扩展(例如您正在使用的)将在PHP 5.5中贬值。所以把它改成:

$result = mysqli_query($sql, $link) or die ("Error in query: $query. " . mysqli_error());

并确保更改您代码中可能存在的任何其他mysqli_*扩展,例如在您正在调用的spoj_s_db()函数中作为DB连接的$link

此外,您的$sql有一些格式化错误。试试这个:

$sql = "INSERT INTO Auto-Moto"
     . " (Tovar, Kategoria, Mesto, Cena, ID, Popis)"
     . " VALUES"
     . " ('Something', 'Something1', 'word', '50', NULL, 'anotherword')"
     ;

注意查询中. "串联字符串周围的空格。在原始查询中,格式中根本没有空格。