【问题标题】:Filling a database with color values用颜色值填充数据库
【发布时间】:2015-01-16 16:08:36
【问题描述】:

我们使用 Xampp 来模拟 apache 和 mysql 服务器。 我不知道到底是什么问题。当我检查数据库时,它没有任何价值。

数据库:http://de.tinypic.com/r/53285/8

这是我的 html 代码:

<!DOCTYPE html>
<html>
<body>
<form action="data.php" method="POST">
<input type="radio" name="Color" value="b" id="r"/>
<label for="radio">ROT</label></br>
<input type="radio" name="Color" value="b" id="g"/>
<label for="radio">GR&Uuml;N</label></br>
<input type="radio" name="Color" value="b" id="b"/>
<label for="radio">BLAU</label></br>
<button type="submit">Absenden</button>
</form>
</body>
</html>

这是我的 php 代码:

<?php

$db = mysqli_connect("localhost", "root", "", "lightcontrol");
if(!$db)
{
exit("Verbindungsfehler: ".mysqli_connect_error());
}

if(isset($_POST["Color"]))
{

if($_POST["Color"]=="r")
{
$variable =" INSERT INTO valuetb VALUES(`1`,,`255`,`0`,`0`)";
}
if($_POST["Color"]=="g")
{
$variable =" INSERT INTO valuetb VALUES(`1`,,`0`,`255`,`0`)";
}
if($_POST["Color"]=="b")
{
$variable =" INSERT INTO valuetb VALUES(`1`,,`0`,`0`,`255`)";
}
}
var_dump($variable);
mysqli_query($db,$variable);

?>

【问题讨论】:

  • 我认为您的查询完全错误。你能告诉我们你的数据库表是什么样子的吗?

标签: php mysql html apache xampp


【解决方案1】:

正如其他人所指出的,您的查询是错误的。 Check documentation 看看INSERT 必须怎么做

此外,您在同一代码中使用 mysqlimysql。 如果您开始使用mysqli 连接到您的数据库,则必须使用它进行查询。

mysqli_query($db, $variable);

【讨论】:

  • 仍然错误:if(isset($_POST["Color"])) { if($_POST["Color"]=="r") { $variable .=" INSERT INTO valuetb VALUES (1,,255,0,0);"; } if($_POST["Color"]=="g") { $variable .=" INSERT INTO valuetb VALUES(1,,0,255,0);"; } if($_POST["Color"]=="b") { $variable .=" INSERT INTO valuetb VALUES(1,,0,0,255);";//第 23 行 } } mysql_query($variable); ?> 未定义变量:第 23 行 C:\xampp\htdocs\phptest\data.php 中的变量
  • 好的,修复了错误。现在,问题是我的数据库中没有值。
  • 30 分钟前完成。
  • @LukasBlauensteiner 使用 mysqli_error() 查看错误(可能是因为您有 2 个破折号关注)
【解决方案2】:

因为你的查询是错误的。

您要在表 255 中添加新行?

这是添加新行的正确语句

INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)

【讨论】:

  • 请记住,value1 主要是 ID,它是自动递增的。
  • if(isset($_POST["Color"])) { if($_POST["Color"]=="r") { $variable .=" INSERT INTO valuetb VALUES(@987654324 @,,255,0,0);"; } if($_POST["Color"]=="g") { $variable .=" INSERT INTO valuetb VALUES(1,,0,255,0);"; } if($_POST["Color"]=="b") { $variable .=" INSERT INTO valuetb VALUES(1,,0,0,255);";//行26 } } mysql_query($变量); ?> 未定义变量:第 26 行 C:\xampp\htdocs\phptest\data.php 中的变量
  • 你的第 26 行是什么?在查询语句之前执行var_dump($variable),未定义,因此您的帖子中有问题。这是第一个错误。然后,正如其他人所说,您必须使用用户mysqli_query()。那么,你的查询是错误的。 INSERT INTO table VALUES (value),我在你的图片中没有看到表valuetb...
  • 因为整张表都是“valuetb”
【解决方案3】:

添加“;”每个变量的结尾

而不是

$variable =" INSERT INTO valuetb VALUES(`1`,,`255`,`0`,`0`)";

用途:

$variable =" INSERT INTO valuetb VALUES(`1`,,`255`,`0`,`0`);";

【讨论】:

  • 谢谢,但我的数据库中仍然没有值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-03
  • 2011-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-31
相关资源
最近更新 更多