发布到db的PHP脚本不起作用

时间:2012-06-27 15:27:36

标签: php

我确信这是非常基本的但我是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");

?>

1 个答案:

答案 0 :(得分:1)

首先,

  • 您的代码容易受到SQL注入攻击。
    恶意用户可以轻易地清除整个表格。
  • 您甚至不应该使用mysql_*
    它已被弃用且风格不好!去查找mysqli或PDO的教程,不要转发2008年的文章。

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

如果你的表实际上被称为table,那就是问题所在。 table是保留关键字。您可以通过使用ticks封装它来修复它,但实际上您应该更改它的名称。拥有一个名为table的表是完全没用的。称之为它包含的内容。