初学者PHP代码无法按预期工作

时间:2016-08-24 20:58:46

标签: php html mysql mysqli

我一直在尝试修复我的代码,它根本不起作用。我有一个本地服务器,它确实工作(在我的macbook上使用Mamp)我编辑了一个名为" form"在我的" hexameter"数据库中。

这是我的代码:

connection.php

<!DOCTYPE html>
<html>
<body>

<form action="http://localhost:8888/index.php" method="GET">
Hexameter: <input type="text" name="Hexameter"><br>
<input type="submit" name"Eingabe">
</form>

</body>
</html>

连接确实有用!

输入:

<!DOCTYPE html PUBLIC>
<html >
<head>
    <title>Search results</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<body>
<?php

$query = $_GET['Hexameter'];

$query = htmlspecialchars($query); 

$query = mysql_real_escape_string($query);

$raw_results = mysql_query("SELECT * FROM forms
        WHERE `text` LIKE '%".$query."%')" or die(mysql_error());


if(mysql_num_rows($raw_results) > 0){ 

    while($results = mysql_fetch_array($raw_results)){

            echo "<p><h3>".$results['title']."</h3>".$results['text']."            

 </p>";
    }
} else{ 
    echo "No results";
}

}

?>
</body>
</html>

的index.php:

class A {
  int get_something();
  int get_something_else();
}

int AccessA(A a, <fn-ptr>) {
    return a.<fn-ptr>
}

我总是得到index.php,但没有显示任何内容。

3 个答案:

答案 0 :(得分:0)

使用mysqli时,必须将连接字符串添加到查询中。

在你的情况下:

 $raw_results = mysqli_query($conn, "SELECT * FROM forms
    WHERE `text` LIKE '%".$query."%'") or die(mysqli_error());

试试。

答案 1 :(得分:0)

正如一些评论者指出的那样,您使用mysqli与数据库连接,然后调用mysql函数。更糟糕的是,index.php中没有引用任何数据库连接。您从$link_identifier电话中省略了mysql_query参数。

将您在index.php中的来电切换为mysqli来电,并确保使用有效的$conn

答案 2 :(得分:0)

在对数据库执行查询之前,您应首先要求connection.php

index.php添加此行:

require "connection.php";

之后,mysqli_query函数需要连接,因此请添加$conn作为参数:

$raw_results = mysqli_query($conn, "SELECT * FROM forms
WHERE `text` LIKE '%".$query."%')" or die(mysqli_error());

我认为这将解决您的问题。