2012-02-16 38 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中運行查詢並查看它是否插入。

相關問題