php
  • mysql
  • sql
  • database
  • 2013-03-26 57 views 1 likes 
    1

    我现在有各种精密组件之一例如HTML形式是:试图形成数据添加到MYSQL数据库

    Please Enter First Name: <input type ="text" name="First_Name" /> <br /> 
    

    我试图摆脱这种形式的信息到我的数据库。但它似乎没有输入任何数据到数据库中。代码如下。

    <?php 
    
    $dbname='ecig'; 
    $dbhost='localhost'; 
    $dbpass='password'; 
    $dbuser='eciguser'; 
    
    
    $dbhandle = mysql_connect($dbhost, $dbuser, $dbpass) 
        or die("Unable to connect to MySQL"); 
    echo "Connected to MySQL<br>"; 
    
    
    //select a database to work with 
    $selected = mysql_select_db("ecig",$dbhandle) 
        or die("Could not select examples"); 
    
    
    
    $res=mysql_query("INSERT INTO Persons (First_Name, Second_Name) VALUES('$_POST[First_Name]', yes)"); 
    mysql_close(); 
    
    if (array_key_exists ('check_submit', $_POST)) 
    
    echo "Your Name is : {$_POST['First_Name']}<br />"; 
    echo "Your Second Name is : {$_POST['Second_Name']}<br />"; 
    echo "Your Email Address is : {$_POST['Email_Address']}<br />"; 
    echo "Your Password Is : {$_POST['Password']}<br />"; 
    
    ?> 
    

    的问题是,因为这是有关于我的数据库没有影响,是有什么我失踪,需要添加到我的SQL代码,使PHP与SQL相互和输入数据进行交互?

    或者我缺少INSERT INTO语句中的某些内容?

    无论如何,帮助将不胜感激,谢谢。

    +0

    尼斯[SQL注入孔](http://bobby-tables.com)。享受你的服务器pwn3d。 – 2013-03-26 05:24:45

    回答

    0

    查询时出现错误,最后'yes'必须有引号。

    尝试直接针对MySQL运行您的查询,以确定您的语法是否正确,然后替换所需的值。

    应该像这样为你的例子:

    $res=mysql_query("INSERT INTO Persons (First_Name, Second_Name) VALUES ('$_POST[First_Name]', 'yes')"); 
    

    咨询了一下,净化你的输入,如果你是从用户接收数据,否则你会很容易受到SQL注入攻击。

    并使用mysqli_函数,因为mysql_函数现在正式被弃用。你可以阅读更多关于这些在几乎任何网站,如w3schools.com

    插入与mysqli_的

    完整的示例:http://www.w3schools.com/php/php_mysql_insert.asp

    好运

    +0

    真棒感谢似乎工作,是的有人说mysqli非常相似,所以我会再看看,再次感谢。 – user2210046 2013-03-26 05:26:11

    +0

    不客气,mysqli非常简单,函数看起来很像mysql_。此外,如果您了解mysqli的准备好的陈述,则不需要担心消毒用户输入。 请不要忘记选择答案,如果它适合你=)干杯。 – Ryoku 2013-03-26 05:28:49

    0

    使用mysql_real_escape_string()

    $res=mysql_query("INSERT INTO Persons (First_Name, Second_Name) VALUES ('".mysql_real_escape_string($_POST['First_Name'])."', '".mysql_real_escape_string($_POST[Second_Name])."')"); 
    
    相关问题