为什么这不更新MySQL数据库?

时间:2012-02-16 04:23:15

标签: php mysql sql insert-update

由于某种原因,这还没有插入数据库。我很困惑。它运行正常。我不知道出了什么问题。

它应该在名为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>

5 个答案:

答案 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'

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

答案 3 :(得分:1)

在进行任何进一步的编码之前,我强烈建议您研究一下mysqli和SQL注入预防。希望这可以帮助您编写安全的Web应用程序。

答案 4 :(得分:1)