这是代码:
$sql = "SELECT * FROM example";
$query = mysql_query($sql);
while ($array = mysql_fetch_array($query)) {
if (in_array($array['ipsum'], $page1)) {echo "<h2>correct</h2>"; break;}
else {echo "<h2>not correct</h2>";} }
echo "<div id=\"nucleo\"><h3>lorem ipsum</h3><h1>";
echo $page1;
echo "</h1>";
我在数据库中有一个包含2行的表:第一个是lorem,第二个是ipsum(都是INT)。 在需要时手动编译该表。 我想要做的是获取第二行(ipsum)并创建一个数组。我不需要回显数组的值,但我需要将它与变量进行比较($ page1。这个变量是一个整数,它会不断变化)。
我该如何解决?
答案 0 :(得分:1)
我认为这应该是你所追求的。您应该考虑从mysql
函数/驱动程序切换到mysqli
或PDO
驱动程序。
<?php
$page1 = (int)$page1;//force $page1 to be an int to avoid SQL injections
$sql = "SELECT * FROM example where ipsum = " . $page1;
$query = mysql_query($sql);
if(mysql_num_rows($query) > 0) {
echo "<h2>correct</h2>";
} else {
echo "<h2>not correct</h2>";}
}
echo '<div id="nucleo">
<h3>lorem ipsum</h3>
<h1>' . $page1 . '</h1>';
http://php.net/manual/en/faq.databases.php#faq.databases.mysql.deprecated
http://php.net/manual/en/function.mysql-num-rows.php
答案 1 :(得分:0)
您正在使用in_array()
来比较两个整数值。您应该像这样使用===
运算符:
$sql = "SELECT * FROM example";
$query = mysql_query($sql);
while ($array = mysql_fetch_array($query)) {
if ($array['ipsum'] === $page1) {
echo "<h2>correct</h2>";
break;
} else {
echo "<h2>not correct</h2>";
}
}
echo "<div id=\"nucleo\"><h3>lorem ipsum</h3><h1>";
echo $page1;
echo "</h1>";
答案 2 :(得分:-1)
我这样解决了:
@DbColumn
我通过使用print_r意识到数组并不是我真的如何。上面这种方式使用colums的所有行来组成数组... array([0] =&gt; row1 [1] =&gt; row2,依此类推。
感谢大家的帮助...我为不清楚我的问题而道歉。