Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 创建表并向其中添加数据无效_Php_Mysql_Sql - Fatal编程技术网

Php 创建表并向其中添加数据无效

Php 创建表并向其中添加数据无效,php,mysql,sql,Php,Mysql,Sql,我正在尝试用一些表创建数据库,表中的值,并在phpMyAdmin中检查它们。我可以创建表和数据库,但不能创建值 2.)当我添加isset$\u post['submit']变量时,当我单击submit按钮时,没有创建任何内容。是否有语法错误我没有看到 <html> <body> <p> welcome to my Page Please insert the data below <

我正在尝试用一些表创建数据库,表中的值,并在phpMyAdmin中检查它们。我可以创建表和数据库,但不能创建值

2.)当我添加
isset$\u post['submit']
变量时,当我单击submit按钮时,没有创建任何内容。是否有语法错误我没有看到

<html>
    <body>

        <p> welcome to my Page
            Please insert the data below
            <br>
            <br>

        <form action="input.php" method="post">
            <p> Name: <input type="text" name="name">
            <p> Age: <input type="text" name="age">
            <p> Address: <input type="text" name="address">
            <p> Email: <input type="text" name="email">

                <input type="submit" value="Send!" name="submit">
        </form>



        <?php

        if(isset($_POST['submit'])){

        //connects to the sql database
        $con = mysql_connect("localhost", "willc86", "tigers330");
        if (!$con) {
            echo 'can not connect to Database' . "<br>";
        }

        //creates the database in mySQL
        $db = mysql_query("CREATE DATABASE form");
        if (!$db) {
            echo 'Did not create database';
        }

        //select the database and connect to it. on where you want to create tables.
        mysql_select_db("form", $con);

        //create the table once "form database" is selected
        $table = "CREATE TABLE users (
        Name varchar(30),
        Age varchar(30),
        Address varchar(30),
        Email varchar(30)
        )";
         mysql_query($table,$con);



        //insert the data from the form
        $value= "INSERT INTO users (Name, Age, Address, Email)
            VALUES ('$_POST[name]','$_POST[age]','$_POST[address]','$_POST[email]')";


        mysql_query($value,$con);

        mysql_close();

        }//end of submit

        ?>

    </body>
</html>

欢迎来到我的页面
请在下面插入数据


姓名: 年龄: 地址: 电邮:
您的表单操作是input.php,您的文件也是input.php吗?否则,在提交表单时将执行input.php,而不是在页面上执行php。

我认为用户将C86没有创建数据库的访问权限

在第二种情况下,您的脚本是不正确的,因为它为每个“用户添加”操作运行,并尝试创建数据库和表


您可以在phpadmin中创建一次,并在脚本中仅使用insert。

在此处突出显示特定错误没有意义,因为其他错误不太可能有完全相同的问题。最好只给你自己调试问题的工具/方法

而不是:

mysql_query($table,$con);
尝试:


更好的方法是使用。

首先,如果此文件名为
input.php
,那么您的代码就可以了。可能有几个原因,一个是您的凭据不正确,另一个是用户没有创建表的权限,为此,请转到Phpmyadmin并授予用户所有权限

第二,也是最重要的一点,使用准备好的语句或mysqli,否则很容易受到SQL注入的攻击

为此,请仔细阅读本帖


我建议不要使用mysql\u connect。改为使用PDO:)您可能希望将来使用mysqli。mysql扩展已弃用。
$res = mysql_query($table,$con);
if($res === false){
    throw new Exception(mysql_error($conn));
}