由于某种原因,这还没有插入数据库。我很困惑。它运行正常。我不知道出了什么问题。
它应该在名为vitamink的数据库中更新名为user_foods的表,但事实并非如此。它连接得当。那不是问题。
<?php include 'top.php'; ?>
</head>
<div id="container">
<?php include 'header.php'; ?>
<?php include 'nav.php'; ?>
<div id="content-container">
<div id="content_for_site">
<h2>Find A Food</h2> <br />
<?php
$query = "SELECT
`id`, `user_submitted_id`, `approved`, `name`, `source`, `vit_k`, `cal`,`protein`, `fiber`, `carbs`, `sugar`, `sodium`, `chol`
FROM `foods`
";
$query_run = mysql_query($query);
?>
<br /><br />
Food |
Vitamin K (mcg) |
Fiber (g) |
Calories |
Protein (g) |
Carbs |
Sugar (g) |
Sodium (mg) |
Cholesterol |
Source
<br />
<form action="find-a-meal.php" method="POST">
<?php
while ($row = mysql_fetch_assoc($query_run)){
?>
<input type="checkbox" name="<?php
echo $row["id"];
?>"<?php
echo ' value="'.$row["id"].'" />'
.$row["name"]." | ".
$row["vit_k"]." | ".
$row["fiber"]." | ".
$row["cal"]." | ".
$row["protein"]." | ".
$row["carbs"]." | ".
$row["sugar"]." | ".
$row["sodium"]." | ".
$row["chol"]." | ".
$row["source"].
'<br />';
}
?>
<br /><br />
<input type="submit" value="Add Food to my Meal Planner Queue">
</form>
<?php
// send the foods to the mysql database
if (isset($_POST[$row["id"]]) && !empty($_POST[$row["id"]])){
$id = $_POST[$row["id"]];
$query = "INSERT INTO `users_foods` VALUES('','".$_SESSION['user_id']."','".$id."','','','','')";
$query_run = mysql_query($query);
}
?>
</div>
答案 0 :(得分:2)
INSERT INTO users_food(col1, col2) VALUES (value1, value2)
不要乱用自动增量字段。让数据库处理它。并使用您要插入的字段....并使用
or die(mysql_error())
在您的SQL查询中。
在phpmyadmin中运行查询并查看是否插入。
答案 1 :(得分:2)
row [“id”]不在post数组中。 post数组只包含数字(ids)。
答案 2 :(得分:1)
SQL UPDATE语法
UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value
SQL UPDATE示例
UPDATE Persons
SET Address='Nissestien 67', City='Sandnes'
WHERE LastName='Tjessem' AND FirstName='Jakob'
答案 3 :(得分:1)
在进行任何进一步的编码之前,我强烈建议您研究一下mysqli和SQL注入预防。希望这可以帮助您编写安全的Web应用程序。
答案 4 :(得分:1)