连接Php、html和mysql
有人能检查一下我的代码,让我知道它有什么问题吗 我遇到的问题是,当我在3个字段中输入文本并点击submit时,它不会插入到我的数据库(mysql,以phpmyadmin作为gui)。没有错误信息或任何东西;它只是不插入数据 我已经把代码看了一遍又一遍,我不能指出它有什么问题连接Php、html和mysql,php,mysql,sql,html,database,Php,Mysql,Sql,Html,Database,有人能检查一下我的代码,让我知道它有什么问题吗 我遇到的问题是,当我在3个字段中输入文本并点击submit时,它不会插入到我的数据库(mysql,以phpmyadmin作为gui)。没有错误信息或任何东西;它只是不插入数据 我已经把代码看了一遍又一遍,我不能指出它有什么问题 //---------------------------This is my index.php------------------------------ <html> <head> <me
//---------------------------This is my index.php------------------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Web Bar Title</title>
<link rel="stylesheet" href="styles.css" type="text/css" />
</head>
<body>
<?php
if(isset($_POST['Submit']))
{
include 'connectdb.php';
include 'openconnection.php';
$first = $_POST['first'];
$second = $_POST['second'];
$third = $_POST['third'];
$query = "INSERT INTO details (first, last, third) VALUES('$first','$second','$third');";
mysql_query($query) or die('Error, insert query failed');
}
?>
<div id="page">
<tbody>
<form method="post">
<table>
<tr>
<td ><b>First</b></td>
<td><input name="first" type="text" id="first"></td>
<tr>
<tr>
<td ><b>Second</b></td>
<td><input name="second" type="text" id="second"></td>
<tr>
<td ><b>Company</b></td>
<td><input name="third" type="text" id="third" > </td>
</tr>
</table>
<input name="submit" type="submit" id="submit" value="Submit" />
</form>
</body>
</html>
</tbody>
</div>
//---------------------------------connectdb.php------------------------------------------
<?php
$dbhost = 'localhost';
$dbuser = 'sharkk';
$dbpass = 'pw';
$dbname = 'test';
?>
//---------------------------------openconnection.php-------------------------------------
<?php
$dbhost = 'localhost';
$dbuser = 'sharkk';
$dbpass = 'pw';
$dbname = 'test';
?>
<?php
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
mysql_select_db($dbname) or die ('No Selection of Database');
?>
/------------------------------这是我的index.php------------------------------
网吧标题
将顶行更改为
if( isset( $_POST['submit'] ) ) {
我记不起它是否区分大小写请尝试将值放在双引号之间,而不是单引号
VALUES("$first","$second","$third")
最好还是换成
if($_SERVER['REQUEST_METHOD'] == 'POST')
submit按钮上的isset()方法不可靠,因为如果用户按enter键提交表单,Internet Explorer不会将submit按钮作为post变量发送,因此您的代码不会检测到表单提交。只需在您自己的MYSQL平台中选中MYSQL INSERT
查询即可,只需将插入查询和粘贴复制到MySQL数据库中,然后在那里进行检查。它会报告你的错误
如果我是对的,那么问题在于插入查询部分。你已声明:
$query = "INSERT INTO details (first, last, third) VALUES('$first','$second','$third');";
在上面的部分中,不应该有两个分号,只有一个就足够了。。。它看起来像:
$query = "INSERT INTO details (first, last, third) VALUES('$first','$second','$third')";
此外,请检查您是否也包含零件
它不应该是:
include 'connectdb.php'; //braces r missing
include 'openconnection.php'; // braces r missing
应该是:
include ('connectdb.php');
include ('openconnection.php');
我希望这会对你有好处
干杯,伙计………在页面顶部写下错误报告(E_ALL);ini_集(“显示错误”,“打开”)
并查看构建查询的区域下的errorPutdie($query)
,告诉我们是什么happens@shevski是的@迪乔嗯。。。对不起,这一切还是新鲜事。。我应该把它放在哪里@没什么也许我做错了:(你似乎没有转义你的sql值——使用mysql\u real\u escape\u string()
函数以防止可能的SQL注入攻击。@Two当你什么都不说时,你是说它显示一个空白页还是什么都不做?调试这段代码可以在几分钟内为你解决这个问题。至少放几个echo/var\u dump
语句来找出你的脚本执行路径这里仍然有点新,idk如何引用:我已将其更改为(“$first”,“$second”,“$third”);”;
,仍然相同。-1只有当值包含未转义的单引号字符时,这才有任何效果。但在这种情况下,建议转义它们,而不是更改查询的引号样式。