0

我正在尝试制作一个基于WordPress CMS 的足球投注系统。如果这是一个多余的问题,我深表歉意,但我整天都在搜索谷歌和一些 Wiki,但我无法找到任何关于如何回答这个问题的线索。

背景资料:

我用:

  • MySQL
  • PHP
  • Navicat

每次用户在 php 脚本网站上输入两个整数,对应于足球比赛中的进球数,这两个整数就会通过insert.php文件发送到数据库表“bets” 。

insert.php 看起来像这样:

<?php $con = mysql_connect("host","username","password"); if (!$con)   {   die('Could not connect: ' . mysql_error());   }

mysql_select_db("database", $con);

$sql="INSERT INTO bets (homebet, awaybet) VALUES ('$_POST[homebet]','$_POST[awaybet]')";

if (!mysql_query($sql,$con))   {   die('Error: ' . mysql_error());   } echo "Thanks for betting!";

mysql_close($con); ?>

php 表单如下所示:

我有以下自制表格:betsteamsmatches,我有 WordPress 表格wp-users,其中列出了每个成员。

投注表如下所示: 每一行对应一个新的赌注

如您所见,用户 ID 是空的——它不应该是空的。它应该包含输入赌注的用户的 ID。

然后我的两部分问题是..

我应该如何获取用户的 ID 并将其显示在数据库表bets中?也许 WordPress 有一个代码片段。

最后,我应该如何为每场比赛附加一个游戏ID?我应该为每场新比赛创建一个新表格吗?

提前非常感谢- 我希望我能够使这个线程可读且易于理解。

弗雷德里克·安徒生

4

1 回答 1

1

你在这里错过了很多东西。我无法建议您如何管理不同的游戏,因为我不知道您的应用程序的其余部分是什么样的。

这里有一些提示可以帮助您:

不要创建自己的数据库连接

消除:

$con = mysql_connect("host","username","password"); if (!$con)   {   die('Could not connect: ' . mysql_error());   }

mysql_select_db("database", $con);

改为添加:

require_once($_SERVER['DOCUMENT_ROOT'].'/wp-load.php');

WordPress 当前用户 ID

将此添加到顶部脚本:

global $wpdb, $current_user;
get_currentuserinfo();

将 $sql 代码更改为:

$sql= $wpdb->prepare("INSERT INTO `bets` (`userid`, `homebet`, `awaybet`) VALUES (%d, %d, %d)", $current_user->ID, $_POST['homebet'], $_POST['awaybet']);

我还使用了 wpdb prepare 功能,因此您的帖子数据将在被查询之前被转义。

也将其更改为使用 WP 本机查询。

消除:

if (!mysql_query($sql,$con))   {   die('Error: ' . mysql_error());   } echo "Thanks for betting!";

mysql_close($con);

改为添加:

$wpdb->query($sql)
于 2012-06-03T14:31:56.037 回答