使用PHP到mySQL查询SELECT COUNT

时间:2014-12-03 07:22:03

标签: php mysql select count

我正在尝试将mySQL查询与POST数据一起使用。我是一个初学者。问题是脚本不打印任何查询结果。

以下是表格:

<form method="post" action="add.php">
<table width="400" border="0" cellspacing="1" cellpadding="2">
<tr>
<td width="100">Data dd/mm/rr</td>
<td><input name="data" type="date" id="data"></td>
</tr>
<tr>
<td width="100">First</td>
<td><input name="first" type="text" id="first" maxlength="2"></td>
</tr>
<tr>
<td width="100">Second</td>
<td><input name="second" type="text" id="second" maxlength="2"></td>
</tr>
<tr>
<td width="100"> </td>
<td>
<input name="add" type="submit" id="add" value="Add">
</td>
</tr>
</table>
</form>

这是add.php

<html>
<body>
<link rel="stylesheet" href="mystyle.css">
<meta charset="utf-8"> 
<head>
  <title>Lottery</title>
</head>
<?php
if(isset($_POST['submit'])){
$value = $_POST['Value'];  
echo "Chosen value : " .$value;  
}

?>


<div class="results">
<p>Counter: <? echo "".$value ?></p>
<p>Place: <? echo "".$value ?>: </p>
<p>Best match<? echo "".$value ?> :</p>
</div>



    <?
$servername = "localhost";
$username = "lottery_root";
$password = "xyz";
$database = "lottery";
$conn = mysqli_connect($servername, $username, $password, $database) or die(mysqli_error($conn));



$result = mysqli_query($conn, "Select count(*) from lottery where first='$_SESSION[value]' or      second='$_SESSION[value]'; ");
if (!$result) echo mysqli_error($conn);

$row = mysqli_fetch_row($result);
print_r($row);
?>
</body>
</html>

@MMK 它看起来像这样,效果更好,这就是它打印的内容。数组([0] =&gt; 0)但是0不是正确的值。无论多少记录与此查询匹配,它总是返回0.有与db的连接并且查询正在执行,因为当我使用例如SELECT * FROM lottery时;它打印整个记录,但只打印一个,而不是全部。

5 个答案:

答案 0 :(得分:1)

我找不到name="Value"

的任何字段

与add.php一样,您希望$_POST['Value']中有一些值,因为没有包含此名称的字段,因此$_POST['Value']甚至没有设置。

答案 1 :(得分:0)

您已将mysql_*个功能与mysqli_*混为一谈。接下来:你错过了MySQL连接中的第四个参数(当创建新的Mysqli对象时)。 Aaand,不要使用PHP短标签,不推荐使用它们。而不是使用<?使用<?php

第二件事,如何将value密钥设置为会话?也许您应该在查询中使用$_POST全局数组。

试试这个:

$servername = "localhost";
$username   = "lottery_root";
$password   = "xyz";
$database   = "xxx";

$conn = new mysqli($servername, $username, $password, $database);

// Check connection
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

$result = $mysqli->query("SELECT COUNT(*) FROM lottery WHERE first='".$_POST['first']."' or druga='".$_POST['second']."' ");

if (!$result) {
    echo $conn->error;
}

$row = $result->fetch_row();

print_r($row);


$conn->close();

答案 2 :(得分:0)

在点击查询时未使用 $ conn obj时,您已使用 mysqli 进行连接。

试试这个

$value = $_SESSION['value'];
if($result = $conn->query("select count(*) from lottery where first='$value' or druga='$value'")){
  if(mysqli_num_row($result) > 0){
     $row = mysqli_fetch_object($results);
     print_r($row);
  }
}else{
    print_r($conn->error)
}
$conn->close();

答案 3 :(得分:0)

您正在使用mysqli连接并使用mysql来获取数据。其次,你为什么不选择database?     

$servername = "localhost";
$username = "lottery_root";
$password = "xyz";
$db = "yourDB";
$conn = mysqli_connect($servername, $username, $password, $db) or die(mysqli_error($conn));

$result = mysqli_query($conn, "Select count(*) from lottery where first='$_SESSION[value]' or second='$_SESSION[value]'; ");
if (!$result) echo mysqli_error($conn);

$row = mysqli_fetch_row($result);
print_r($row);
?>

答案 4 :(得分:-1)

应该是

<?php echo "".$value ?>  

<? echo "".$value ?>