我有这段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')
答案 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
输出的内容。