Php MySQL,而Loop&;与in_阵列的比较

Php MySQL,而Loop&;与in_阵列的比较,php,mysql,while-loop,Php,Mysql,While Loop,代码如下: $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

代码如下:

$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>";
$sql=“从示例中选择*”;
$query=mysql\u查询($sql);
而($array=mysql\u fetch\u array($query)){
if(在数组($array['ipsum',$page1]){echo“correct”;break;}
否则{echo“不正确”;}
回声“同侧眼”;
echo$page1;
回声“;
我有一个数据库中有两行的表:第一行是lorem,第二行是ipsum(都是INT)。 该表在需要时手动编译。 我想做的是获取第二行(ipsum)并创建一个数组。我不需要回显数组的值,但我需要将它与一个变量($page1.这个变量是一个整数,它不断变化)


我怎样才能修好它

您正在使用\u 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>";
$sql=“从示例中选择*”;
$query=mysql\u查询($sql);
而($array=mysql\u fetch\u array($query)){
如果($array['ipsum']=$page1){
呼应“正确”;
打破
}否则{
回声“不正确”;
} 
}
回声“同侧眼”;
echo$page1;
回声“;

我认为这应该满足您的要求。您应该考虑从
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>';
我是这样修复的:

$array = array(); 
while ($row = mysql_fetch_array($query)) { 
    array_push($array, $row["ipsum"]);
} 

if (in_array($page1, $array)) {echo "correct";}
else {echo "not correct"; }
通过使用print\r,我意识到数组并不是我想象的那样。通过上述方法,使用列的所有行组成数组。。。数组([0]=>row1[1]=>row2,依此类推


谢谢大家的帮助…我很抱歉没有很清楚地说明我的问题。

您收到了什么错误消息?当$page1实际上等于$array['ipusm']时,它会回显“不正确”而不是“正确”。似乎根本没有比较。@chris85对不起,你说得对,它们是columnsIs
$page1
一个数组或字符串?它实际上是一个计数器。在$page1中,有一个按钮被点击多少次的结果。如果该数字等于数据库“示例”表中的“ipsum”之一,则它必须回显“正确”我知道我以前也尝试过,但它不起作用。它不起作用,因为你使用<代码>== /<代码>而不是<代码>=< /代码>,或者在任何一个方面添加一个演员。这是我们在这一点上所知道的正确方法。这不能利用数据库所能提供的优势。你应该考虑我的答案。你已经解决了这个问题。d这里的问题可能有效,但效率很低。如果/当您的数据库变大时,将来可能会出现问题。