插入的不同页面上的SQL php(mysqli)

时间:2015-04-22 13:54:20

标签: php mysqli

我有这段PHP代码,当我将它放在我的索引页面( index.php )时它会起作用,但是如果我把它放在另一个页面中就会无效,即 add.php

例如: 将该代码放入 add.php 页面后,我尝试访问: www.myhost.com/add.php 什么都不会发生 但是,如果我将该代码复制到 index.php 并转到页面 www.myhost.com/index.php 它将在我的SQL表中添加另一行。

为什么?

<?php
        $server="mysql.server.com";
        $user="randomUsr";
        $pass="randomPwd";
        $db="randomDB";

    $link=mysqli_connect($server, $user, $pass, $db);
    $result=mysqli_query($link,"SELECT * FROM `Battery` WHERE `ID`");

    $query = "INSERT INTO  Battery (ID,Type,Owner,Charge,Time)
        VALUES ('1','Lily002','Maisnow','15','2015-04-22 17:20:28')";

    mysqli_query($link, $query);

    header("Location: index.php"); //this one is comment out when copied to index.php

?>

1

#   Name    Type       Collation    Attributes  Null    
1   ID      int(16)         No      None          
2   Type    varchar(8)  utf8_unicode_ci       No    None         
3   Owner   varchar(32) utf8_unicode_ci       No    None         
4   Charge  int(16)         No      None         
5   Time    datetime        No      None    

注意:SQL查询在phpmyadmin上正常运行

NSERT INTO电池(ID,类型,所有者,费用,时间)         价值观('1','Lily002','Maisnow','15','2015-04-22 17:20:28')

2 个答案:

答案 0 :(得分:2)

当您尝试在phpmyadmin或Dolphin等数据库访问程序中输入查询时会发生什么?它出错吗?

正如Chip Dean建议的那样,你可能有一个问题,就是你有ID硬编码。命名法表明它是主键,必须是唯一的。

您是否已将结果添加到数据库中?

答案 1 :(得分:1)

我已经在Chip Dean和Marshall Tigerus指出了AS,你可能在SQL查询中声明了静态值,所以试试这个:

    $query = "INSERT INTO  Battery (Type,Owner,Charge,Time)
        VALUES ('Lily002','Maisnow','15','2015-04-22 17:20:28')";
 mysqli_query($link, $query) or die("Error: ".mysqli_error($link));

这是否适用于所有页面(即使数据库具有空ID值,至少显示这是它最初不起作用的原因)?

如果这不起作用,请分享mysqli_error输出的内容。