Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从MySQL数据库中回显一些东西_Php_Mysql - Fatal编程技术网

Php 从MySQL数据库中回显一些东西

Php 从MySQL数据库中回显一些东西,php,mysql,Php,Mysql,我试图从我的数据库中找到一个有答案的问题。我只想从数据库中得到一件事,而不是一行。我原以为这会管用,但结果是:资源id 4是否有人能解释我遗漏了什么 谢谢: <?php $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = ''; $conn = mysql_connect($dbhost, $dbuser, $dbpass); mysql_select_db('lotto'); $

我试图从我的数据库中找到一个有答案的问题。我只想从数据库中得到一件事,而不是一行。我原以为这会管用,但结果是:资源id 4是否有人能解释我遗漏了什么

谢谢:

    <?php 
   $dbhost = 'localhost';
   $dbuser = 'root';
   $dbpass = '';

   $conn = mysql_connect($dbhost, $dbuser, $dbpass);

    mysql_select_db('lotto');   
    $sql = 'SELECT id, vraag, AntwA, AntwB, AntwC, AntwD FROM vraag1';
    $test = mysql_query($sql);
    echo $test;   

?>

使用mysqli而不是mysql

<?php 
   $dbhost = 'localhost';
   $dbuser = 'root';
   $dbpass = '';

   $conn = mysqli_connect($dbhost, $dbuser, $dbpass);

    mysqli_select_db('lotto');   
    $sql = 'SELECT id, vraag, AntwA, AntwB, AntwC, AntwD FROM vraag1';
    $test = mysqli_query($sql);
    echo $test;   

?>

您需要添加以下内容:

while($row = mysql_fetch_array($result)){
    echo $row['id'];
    echo $row['vraag'];
    echo $row['AntwA'];
    echo $row['AntwB'];
    echo $row['AntwC'];
    echo $row['AntwD'];
}

对于select函数,mysql\u查询在成功时返回资源,或在出错时返回FALSE。 那么你的任务书呢

$test = mysql_query($sql);
将资源分配给$test

如果您想将数据放在资源中,您可以这样做

while($row= mysql_fetch_assoc($test)):
    print_r($row);
endwhile;
您还可以访问$row['column_name']

如果只想返回一行,可以在查询中执行此限制

$sql = 'SELECT id, vraag, AntwA, AntwB, AntwC, AntwD FROM vraag1 limit 1';
就像在互联网上说的至少10000次,永远不要使用MySQL!如果你想通过互联网上的教程学习新的东西,不要使用旧的

我建议使用PDO,它是PHP中的现代API,正确地使用它时,它会更加安全!但是你也可以使用MYSQLI,它更类似于MYSQL

您必须从返回数组导出数据:

使用PDO:

$db = new PDO ("mysql:host=".$hostname.";dbname=".$dbname, $username, $password);

$query = $db -> prepare ("SELECT * FROM vraag1");

    $query -> execute (array ());

    $rows = $query -> fetchAll (PDO::FETCH_ASSOC);

    foreach ($rows as $row)
    {
        echo $id = $row["id"];
                    echo $vraag = $row["vraag "];
                    echo $AntwA = $row["AntwA "];
                    echo $AntwB = $row["AntwB "];
                    echo $AntwC = $row["AntwC "];
                    echo $AntwD = $row["AntwD "]; 
    }
使用MYSQLI:

$db = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);

$query = "SELECT * FROM vraag1";
$rows = mysqli_query($db, $query);

while($row = mysqli_fetch_assoc($rows))
{
   echo $row["id"];
   echo $row["vraag"];
   echo $row["AntwA"];
   echo $row["AntwB"];
   echo $row["AntwC"];
   echo $row["AntwD"];
}
首先,您正在使用的mysql函数已经贬值,不再受支持。您应该在准备好的语句中使用mysqli或pdo

<?php
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "lotto";

// Create connection
$conn = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

$sql = "SELECT id, vraag, AntwA, AntwB, AntwC, AntwD FROM vraag1";
$test = mysqli_query($conn, $sql);

if (mysqli_num_rows($test) > 0) {
    // output data of each row
    while($row = mysqli_fetch_assoc($test)) {

       echo "ID : ".$row['id']."<br>";
       echo "vraag :".$row['vraag']."<br>";
       echo "AntwA :".$row['AntwA']."<br>";
       echo "AntwB :".$row['AntwB']."<br>";
       echo "AntwC :".$row['AntwC']."<br>";
       echo "AntwD :".$row['AntwD']."<br>";
    }
} else {
    echo "no results found";
}

mysqli_close($conn);
?>

停止使用mysql_*函数。另外,您缺少的是$test是一个查询结果集,而不是可以回显的字符串。看看警告:mysqli_select_db需要2个参数,其中1个在第15行的C:\xampp\htdocs\Informatica\SE.php中给出警告:mysqli_query需要至少2个参数,1在第17行的C:\xampp\htdocs\Informatica\SE.php中给出,您的代码仍然无法修复原始版本的问题,并引入了新版本。mysqli不是mysqlFirst的克隆,它是mysql\u fetch\u assoc,第二,mysql_*函数在PHP5中被弃用,在PHP7中完全缺失,鼓励人们继续使用它们对任何人都没有好处。我采用了他目前的代码风格,因为他想要一个答案,而不是重新编写他的全部代码!与其抱怨,不如添加一个答案,指出你的答案需要改进,而不是抱怨。如果你认为是这样的话,我建议你开发一种更厚的皮肤。不太清楚为什么这被否决了,这在技术上是正确的,但你也不应该鼓励人们继续使用过时的mysqlfunctions@GordonM也许是因为他鼓励人们使用降价函数而被否决了?我会从now@MasivuyeCokile大概但如果是这样的话,你会认为选民会有礼貌地留下这样的评论。没有评论的否决票为什么没有什么帮助。好吧,@GordonM,这已经成为一种新的文化,所以,人们dv和离开,看到每天,答案只是得到否决票,没有评论为什么他应该使用PDO?@MasivuyeCokile为什么他不应该?!别误会,我并不是说他不应该使用PDO,但是OP看起来很适合mysql,所以我们应该指导他使用正确的API。。记住mysqli也支持预先准备好的语句。@MasivuyeCokile对不起,我真的理解错了:D我同意你对mysqli的看法,我个人认为PDO比mysqli更干净,这就是为什么我建议:也许他还不知道PDO!我也会更新我的答案:p thx。太好了,不要改变你的答案,只需添加两种方法,这样他就可以选择: