MySql没有插入

时间:2014-05-03 00:11:47

标签: php mysql sql

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

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

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>';
    }
  }

4 个答案:

答案 0 :(得分:1)

这是你应该用空格,短划线(等)处理字段和表名的方法:

  $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']}')";

答案 1 :(得分:0)

如果要查看错误消息,请更改此行:

$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()函数作为数据库连接的$link

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

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

请注意查询中. "连接字符串周围的空格。在原始查询中,格式化根本没有空格。这将导致MySQL阻塞查询。

答案 2 :(得分:0)

您在查询时遇到了一些问题。

首先,您的表名非常不标准(Auto-Moto),因此您可能需要在其周围添加引号。 其次,在适当的位置添加一些空间总是一个好习惯,这样你就可以改变:

"VALUES"

与        “价值观”

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

答案 3 :(得分:0)

您在查询中错失了大量空间:

复制此内容:

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