【发布时间】:2016-08-15 06:51:21
【问题描述】:
我正在尝试将新用户名添加到 mysql 表中抛出 wordpress。但是每次我尝试这样做时,我都没有错误消息,但是数据库中没有添加任何行。
这是里面有php的wordpress页面:
<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);
?>
我看不出有什么问题。我认为连接可能有问题。有什么想法吗?
谢谢!
编辑
正如建议的那样,我尝试使用$wpdb,所以我在名为 my-codes 的文件夹中创建了一个 php 文件(在 wp-admin、wp-content 和 wp-includes 的同一级别)并添加了以下代码到文件调用 insertUser.php:
<?php
global $wpdb;
$wpdb->insert("wp_submitted_form", array(
"sName" => $sName,
"sEmail" => $sEmail));
?>
现在在我的页面中我试图调用这个函数并且我正在这样做:
<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");
}
?>
我仍然无法在数据库中插入任何行。有什么建议吗?
编辑 我需要一个插件来将我的 sql 数据库与 wordpress 实际连接起来。代码是正确的。
【问题讨论】:
-
注意:
mysql_*函数已被弃用,它们已从 PHP 7 中删除,当您升级到该版本时,您的代码将停止工作。您不应该使用它们编写新代码,而是使用mysqli_*or PDO。 -
这是一个wordpress页面吗?里面没有wordpress功能...
-
您应该使用
$wpdb在 Wordpress 中进行数据库查询 -
我应该在页面内添加
$wpdb吗? -
是的,您必须在页面顶部添加
gobal $wpdb;