首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP MySQL插入

PHP MySQL插入
EN

Stack Overflow用户
提问于 2013-02-04 07:36:03
回答 1查看 1.9K关注 0票数 0

我有一个带有mysql的php,如果没有相同的信息,它会插入一些数据到数据库中

代码语言:javascript
运行
复制
<?php 

$id=$_POST['id'];
$guildname=$_POST['guildname'];
$level=$_POST['level'];
$score=$_POST['score'];
$guildmaster=$_POST['guildmaster'];


$con = mysql_connect("localhost", "root", "");
if (!$con)
  {die('Could not connect to mysql: ' . mysql_error());} 

$mydb = mysql_select_db("gunbound");
if (!$mydb)
  {die('Could not connect to database: ' . mysql_error());} 

  $dup = mysql_query("SELECT Id FROM guildrequest WHERE Id='".$_POST['id']."'");
        if(mysql_num_rows($dup) >= 1){
            echo '<b>You have already ask for guild request.</b>';
        }
        else
        {

     $dup2 = mysql_query("INSERT INTO guildrequest VALUES ('$id', '$guildname', '$level', '$score', '$guildmaster')");
        }
 Print "<center>You have requested to join the guild.</center>"; 

mysql_close($con);
?> 

但如果没有相等的记录,则不会将记录添加到数据库中

也不会执行以下操作:

代码语言:javascript
运行
复制
$dup2 = mysql_query("INSERT INTO guildrequest VALUES ('$id', '$guildname', '$level', '$score', '$guildmaster')");

即使代码:

代码语言:javascript
运行
复制
if(mysql_num_rows($dup) >= 1){

说他可以做插入的动作

请帮帮我

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-04 08:18:58

试试这个:

代码语言:javascript
运行
复制
<?php 

$id=$_POST['id'];
$guildname=$_POST['guildname'];
$level=$_POST['level'];
$score=$_POST['score'];
$guildmaster=$_POST['guildmaster'];


$con = mysql_connect("localhost", "root", "");
if (!$con)
  {die('Could not connect to mysql: ' . mysql_error());} 

$mydb = mysql_select_db("gunbound");
if (!$mydb)
  {die('Could not connect to database: ' . mysql_error());} 

  $dup = mysql_query("SELECT Id FROM guildrequest WHERE Id='".$_POST['id']."'");
        if(mysql_num_rows($dup) >= 1){
            echo '<b>You have already ask for guild request.</b>';
        }
        else
        {

     $dup2 = mysql_query("INSERT INTO guildrequest VALUES ('$id', '$guildname', '$level', '$score', '$guildmaster')");
     return $dup2;
        }
 Print "<center>You have requested to join the guild.</center>"; 

mysql_close($con);
?> 

我在你的else语句中添加了return。我将执行您的$dub2变量。如果您想省略变量$dub2,那么您可以中间执行您的查询。另一种方法是使用mysql_execute()函数。

这将是MYSQLI的等价物:

代码语言:javascript
运行
复制
<?php 

$id=$_POST['id'];
$guildname=$_POST['guildname'];
$level=$_POST['level'];
$score=$_POST['score'];
$guildmaster=$_POST['guildmaster'];

$host = "hostname";
$user = "username";
$password = "password";
$database = "database";

$con = mysqli_connect($host, $user, $password, $database);
if (!$con)
  {die('Could not connect to mysql: ' . mysql_error());} 


 $dup = "SELECT Id FROM guildrequest WHERE Id='".$_POST['id']."'";

mysqli_query($con, $dup);
  if (!$dup)
  {die('Could not connect to database: ' . mysql_error());} 

        if(mysqli_num_rows($dup) >= 1){
            echo '<b>You have already ask for guild request.</b>';
        }
        else
        {
     $dup2 = "INSERT INTO guildrequest VALUES ('$id', '$guildname', '$level', '$score', '$guildmaster')";
     mysqli_query($con, $dup2);
        }
 Print "<center>You have requested to join the guild.</center>"; 

mysqli_close($con);
?> 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14678645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档