将mysql表中的php记录插入另一个表中

时间:2011-08-15 21:11:44

标签: php mysql forms

我一直在寻找解决方案,我认为这是一个非常简单的问题。

我有一个动态创建的页面,其中包含一个具有唯一ID的视频。我还有一个用户可以提交内容的表单。我希望视频的ID包含在tableA的提交中。

此代码仅在$ id = 1时才有效。

$vidq = "SELECT * FROM tutorials";
$vidresult = mysql_query($vidq);
$vidrow = mysql_fetch_array($vidresult);

//form submission
if($_POST['formname'] == "submit") {

$name = $_POST['name'];
$id = $vidrow['id'];
$errorMessage = "";
if(empty($name)) {
    $errorMessage .= "<li>Please enter a valid name</li>";
    }

if(empty($errorMessage)) {

    $insert = "INSERT INTO tableA (videoid, name) VALUES (".$id.", ".$name.")"; 

    mysql_query($insert);
    exit();
    }
}

当我将$ id更改为= 1时,它会发布,但当$ id to = $ vidrow ['id']时,它不会发布。

我做错了什么?

2 个答案:

答案 0 :(得分:-1)

尝试使用mysql_errno / mysql_error显示mysql错误消息。例如...

if (!mysql_query($insert))
{
    die('MySQL Fail (' . mysql_errno() . ') - ' . mysql_error());
}

mysql_errno()文档 - http://php.net/manual/en/function.mysql-errno.php

答案 1 :(得分:-2)

  1. 您是否尝试在$id之后打印$id = $vidrow['id'];的内容?它可能会揭示为什么它不能按你想要的方式工作......

  2. 您是否考虑过如果恶意(或只是好奇的)用户使用?name=%27%27%29%3b%20DROP%20TABLE%20tableA%3B调用您的脚本会发生什么?