Php 创建表并向其中添加数据无效
我正在尝试用一些表创建数据库,表中的值,并在phpMyAdmin中检查它们。我可以创建表和数据库,但不能创建值 2.)当我添加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 <
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));
}