不使用wordpress和php在mysql数据库中输入数据
我正在尝试向mysql表添加一个新用户名。但每次我尝试这样做时,都没有错误消息,但数据库中没有添加任何行 这是包含php的wordpress页面:不使用wordpress和php在mysql数据库中输入数据,php,mysql,wordpress,Php,Mysql,Wordpress,我正在尝试向mysql表添加一个新用户名。但每次我尝试这样做时,都没有错误消息,但数据库中没有添加任何行 这是包含php的wordpress页面: <table> <form name="form1" method="post" action=""> <strong>Please enter your information in order to download the Macs Cabs App</strong> <tr>
<table>
<form name="form1" method="post" action="">
<strong>Please enter your information in order to download the Macs Cabs
App</strong>
<tr><td>
Name:</td><td><input name="Name" type="text" id="sName"></td></tr>
Email Address:</td><td><input name="Email" type="text" id="sEmail"></td> </tr>
<tr><td>
<input type="submit" name="Submit" value="Submit"></td></tr>
</form></table>
<?php
$con = mysql_connect("localhost","root","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("foundint_Sababa", $con);
$sql="INSERT INTO `Users` (`sName`, `sEmail`)
VALUES ('{$_POST['sName']}','{$_POST['sEmail']}')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
$info = mysql_info(); echo $info;
mysql_close($con);
?>
现在在我的页面中,我尝试调用此函数,我正在执行以下操作:
<table>
<form name="form1" method="post" action="">
<strong>Please enter your information in order to download the Macs Cabs
App</strong>
<tr><td>
Name:</td><td><input name="Name" type="text" id="sName"></td></tr>
Email Address:</td><td><input name="Email" type="text" id="sEmail"></td> </tr>
<tr><td>
<input type="submit" name="Submit" value="Submit"></td></tr>
</form></table>
<?php
if(isset($_POST['Submit']))
{
include("./my-codes/insertUsers.php");
}
?>
请输入您的信息以下载Macs Cabs
应用程序
姓名:
电邮地址:
我仍然无法在数据库中插入任何行。有什么建议吗
编辑
我需要一个插件来连接我的sql数据库和wordpress。代码是正确的。使用像这样的查询使事情发生
$sql="INSERT INTO `Users` (`sName`, `sEmail`) VALUES ('".$_POST['sName']."','".$_POST['sEmail']."')";
为了防止注入,您可以使用这种方法来构建查询
$name=addslashes($_POST['sName']);
$email=addslashes($_POST['sEmail']);
$sql="INSERT INTO `Users` (`sName`, `sEmail`) VALUES ('$name','$email')";
使用准备好的语句
$mysqli = new mysqli("example.com", "user", "password", "database");
$name=addslashes($_POST['sName']);
$email=addslashes($_POST['sEmail']);
$stmt=$mysqli->prepare("INSERT INTO `Users` (`sName`, `sEmail`) VALUES (?,?)");
$stmt->bind_param("ss", $name,$email);
$stmt->execute();
有关准备好的语句的详细信息,请使用我提供的代码替换您的代码
<table>
<form name="form1" method="post" action="">
<strong>Please enter your information in order to download the Macs Cabs
App</strong>
<tr><td>
Name:</td><td><input name="Name" type="text" id="sName"></td></tr>
Email Address:</td><td><input name="Email" type="text" id="sEmail"></td> </tr>
<tr><td>
<input type="submit" name="Submit" value="Submit"></td></tr>
</form></table>
<?php
$con = mysql_connect("localhost","root","root"); // ensure that your password in empty or root in your localhost
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("foundint_Sababa", $con);
if(isset($_POST['Submit']))
{
// Previous Insert Query which has discrepency in form input names and Insert Values
//$sql="INSERT INTO `Users` (`sName`, `sEmail`) VALUES ('{$_POST['sName']}','{$_POST['sEmail']}')";
// My new Query with corrected form input names for Input Values during POST.
$sql = "INSERT INTO `Users`(`sName`, `sEmail`) VALUES ('".$_POST['Name']."','".$_POST['Email']."')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
$info = mysql_info(); echo $info;
mysql_close($con);
}
请输入您的信息以下载Macs Cabs
应用程序
姓名:
电邮地址:
注意:mysql.*
函数已被弃用,它们已从PHP7中删除,当您升级到该版本时,您的代码将停止工作。您不应该使用它们编写新代码,而是使用它们。这是一个怎样的wordpress页面?其中没有wordpress函数…您应该使用$wpdb
在wordpress中进行数据库查询我应该在页面内添加$wpdb
吗?是的,您必须添加gobal$wpdb代码>在页面顶部,如果您指出实际问题是什么(表单字段名称和使用的变量名称之间存在差异),那么答案将更有帮助。在当前状态下,每个人都必须将其与每行原始代码行进行比较,以找出差异。差异是if(isset($\u POST['Submit']))
但仍不工作。我认为与数据库的连接有问题。连接中可能缺少任何内容?请确保您的本地主机具有连接密码。大多数情况下,它是空的,但您提到过它有根,而在wordpress中使用它时,最好使用Wp Query插入数据库并从数据库中进行选择。不要喜欢这种mysql方式,因为它可能在某些服务器上也不起作用。sql注入呢?此查询是高度可验证的。您可以使用多种方法停止sql注入。您可以使用默认的sql转义函数,如htmlescape character,或使用准备好的语句来防止sql注入。@Marcel检查您使用的输入值名称@DhavalPurohit进行更改,然后如果他复制并尝试您的代码,这是有意义的。但是在Wordpress中使用WP查询是可取的,而不是mysql或预处理语句。哦,那么为什么不在代码中使用它呢@纳雷什库马尔
<table>
<form name="form1" method="post" action="">
<strong>Please enter your information in order to download the Macs Cabs
App</strong>
<tr><td>
Name:</td><td><input name="Name" type="text" id="sName"></td></tr>
Email Address:</td><td><input name="Email" type="text" id="sEmail"></td> </tr>
<tr><td>
<input type="submit" name="Submit" value="Submit"></td></tr>
</form></table>
<?php
$con = mysql_connect("localhost","root","root"); // ensure that your password in empty or root in your localhost
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("foundint_Sababa", $con);
if(isset($_POST['Submit']))
{
// Previous Insert Query which has discrepency in form input names and Insert Values
//$sql="INSERT INTO `Users` (`sName`, `sEmail`) VALUES ('{$_POST['sName']}','{$_POST['sEmail']}')";
// My new Query with corrected form input names for Input Values during POST.
$sql = "INSERT INTO `Users`(`sName`, `sEmail`) VALUES ('".$_POST['Name']."','".$_POST['Email']."')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
$info = mysql_info(); echo $info;
mysql_close($con);
}