我看到了很多答案,但没有一个对我有用,我想我想要的是一些不同的东西。我正在制作一个在游戏中组织战斗的网站(部落冲突),这样用户就可以选择用户($base)将要攻击的基础($name)。在页面中,用户可以在选择列表中选择基数,并键入他的名称。因此,如果以前没有人选择过这个数字(这个数字不在数据库中),那么他的名字将被存储在那里。但是,如果这个号码已经在列表上了,用户就不能更新或更改它。用更少的话说:如果$number已经在数据库上了:什么都不做,如果不是:插入他,下面是网页的代码:
$base = $_POST['base'];
$nome = $_POST['nome'];
$sql =
"
//Here is the code that I need to check if the number do not exists and add it
";
mysql_select_db('a2322671_spabr');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not enter data: ' . mysql_error());
}
echo "Entered data successfully\n";
mysql_close($conn);
}
else
{
?>
<form method="post" action="<?php $_PHP_SELF ?>">
<table width="400" border="0" cellspacing="1" cellpadding="2">
<tr>
<td width="100">Numero da base</td>
<td>
<select name="base" id="base">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
</td>
</tr>
<tr>
<td width="100">Quem vai atacar</td>
<td><input name="nome" type="text" id="nome"></td>
</tr>
<tr>
<td width="100"> </td>
<td>
<input name="add" type="submit" id="add" value="Reservar">
</td>
</tr>
</table>
</form>
<?php
}
?>我从现在开始感谢,为我糟糕的英语感到抱歉。
发布于 2014-11-23 14:59:21
这应该是可行的:
mysql_select_db('a2322671_spabr');
$base = $_POST['base'];
$nome = $_POST['nome'];
$retval = mysql_query("SELECT base FROM bases_table WHERE base = '$base'", $conn);
if (mysql_num_rows($retval) == 0) {
// doesn't exist already, do stuff
$retval2 = mysql_query("INSERT INTO bases_table (base, nome) VALUES ('$base' , '$nome')", $conn);
if(!$retval2) {
die('Could not enter data: '.mysql_error());
}
echo "Data inserted successfully\n";
mysql_close($conn);
} else {
// does exist, do something else
echo "Data already exists.";
mysql_close($conn);
}发布于 2014-11-23 15:06:47
在这种情况下,“插入忽略”语句应该对您很有帮助。
$sql ="INSERT IGNORE INTO baseTable ('baseId','userName') VALUES('$baseId', '$userName')";
mysql_select_db('a2322671_spabr');
$retval = mysql_query( $sql, $conn );
if($retval )
{
echo "Entered data successfully\n";
}
mysql_close($conn);https://stackoverflow.com/questions/27090220
复制相似问题