2012-02-16 87 views
2

由于某种原因,这没有被插入到数据库中。我很困惑。它运行良好。我不知道什么是错的。为什么这不更新MySQL数据库?

它应该更新称为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&nbsp;|&nbsp; 
Vitamin K (mcg)&nbsp;|&nbsp; 
Fiber (g)&nbsp;|&nbsp; 
Calories&nbsp;|&nbsp; 
Protein (g)&nbsp;|&nbsp; 
Carbs &nbsp;|&nbsp; 
Sugar (g)&nbsp;|&nbsp; 
Sodium (mg)&nbsp;|&nbsp; 
Cholesterol &nbsp;|&nbsp; 
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

您正在使用$ _SESSION,但未使用session_start()启动会话; 请参阅http://www.w3schools.com/php/php_sessions.asp获取php会话详细信息 – 2012-02-16 04:26:25

+0

您可以获得$ query。你可以回声$查询,并给我们的结果 – 2012-02-16 04:27:21

+0

你没有使用'UPDATE'语句...你正在使用'插入' – 2012-02-16 04:27:28

回答

2

行[ “ID”]是不交阵列英寸帖子数组只包含数字(ID)。

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' 

信用:http://www.w3schools.com/sql/sql_update.asp

+0

我刚刚编辑我的题。我的意思是说插入到数据库中。 – 2012-02-16 05:14:40

1

在你做任何进一步的编码,我会强烈建议您研究了一下关于mysqli和SQL注入预防。希望这会帮助你编写一个安全的web应用程序。

2
INSERT INTO users_food(col1, col2) VALUES (value1, value2) 

不要乱用自动增量字段。让数据库处理它。并使用您要插入的字段....并使用

or die(mysql_error()) 

在您的sql查询。

Plus在phpmyadmin中运行查询并查看它是否插入。