-2

我敢肯定这是非常基本的,但我是 php 新手。有人能告诉我为什么这段代码不会写入表格吗?我只是想让表单更新数据库中的表。一切正常,除了表中的数据没有被覆盖。任何帮助将不胜感激!谢谢。

<?php
$username="username";
$password="password";
$dbname="database";
$usertable="table";
$connect = @mysql_connect($hostname, $username, $password)or die
("cannot connect to db");
mysql_select_db($dbname);

$show=$_POST['show'];
$pro=$_POST['pro'];
$twmo=$_POST['twmo'];


mysql_query("INSERT INTO $usertable VALUES
('$show','pro','$twmo')" );

mysql_close($connect);
header("Location: http://www.myhomepage.com");

?>
4

1 回答 1

1

第一的,

  • 您的代码容易受到 SQL 注入的攻击。
    恶意用户可以轻松清除您的整个表。
  • 你甚至不应该使用mysql_*
    这是不推荐使用和糟糕的风格!去寻找mysqli或 PDO 的教程,不要转发 2008 年的文章。

关于实际问题,请尝试自己调试。您没有检查您的任何查询是否成功。执行查询时,mysql_query()返回资源或FALSE失败。检查是否发生这种情况,这样您就可以找出错误发生的确切位置以及它正在使用什么mysql_error()

如果您的表实际上被称为table,那么这就是问题所在。table是保留关键字。您可以通过用记号 ` 封装它来修复它,但实际上您应该只更改它的名称。拥有一个名为 table 的表根本没有用。称它为它包含的内容。

于 2012-06-27T15:30:28.753 回答