首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySql不插入

问MySql不插入
EN

Stack Overflow用户
提问于 2014-05-03 00:11:47
回答 4查看 34关注 0票数 0

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

它仍然无法添加消息,您看到错误了吗?

代码语言:javascript
复制
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>';
    }
  }
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-05-03 00:15:56

这是如何使用空格、破折号(等)处理字段名和表名的方法:

代码语言:javascript
复制
  $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
EN

Stack Overflow用户

发布于 2014-05-03 00:15:52

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

代码语言:javascript
复制
$result = mysql_query($sql, $link);

对此:

代码语言:javascript
复制
$result = mysql_query($sql, $link) or die ("Error in query: $query. " . mysql_error());

但是您应该真正学会使用mysqli_*扩展,因为PHP5.5中的mysql_*扩展--比如您正在使用的扩展--将被贬低。因此,请将其改为:

代码语言:javascript
复制
$result = mysqli_query($sql, $link) or die ("Error in query: $query. " . mysqli_error());

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

此外,您的$sql还存在一些格式化错误。试一试:

代码语言:javascript
复制
$sql = "INSERT INTO Auto-Moto"
     . " (Tovar, Kategoria, Mesto, Cena, ID, Popis)"
     . " VALUES"
     . " ('Something', 'Something1', 'word', '50', NULL, 'anotherword')"
     ;

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

票数 0
EN

Stack Overflow用户

发布于 2014-05-03 00:18:29

您在查询方式上有几个问题。

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

代码语言:javascript
复制
"VALUES"

用“价值观”

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23438759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档