Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.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/SQL_Php_Html_Sql - Fatal编程技术网

简单搜索程序PHP/SQL

简单搜索程序PHP/SQL,php,html,sql,Php,Html,Sql,修正:谢谢大家的帮助,对于那些需要从某个地方开始的人,你可以将此作为参考 我正在努力学习PHP SQL HTML,我在正确运行代码方面遇到了困难,你能帮我一下吗。我已经看过很多例子了,但是我无法实现,我的html表单没有显示出来。这是一个程序,它将搜索用户在搜索表单中输入的内容,并在sql数据库中查找 <html> <head> <meta http-equiv="Content-Type" content="text/html; char

修正:谢谢大家的帮助,对于那些需要从某个地方开始的人,你可以将此作为参考

我正在努力学习PHP SQL HTML,我在正确运行代码方面遇到了困难,你能帮我一下吗。我已经看过很多例子了,但是我无法实现,我的html表单没有显示出来。这是一个程序,它将搜索用户在搜索表单中输入的内容,并在sql数据库中查找

     <html>
  <head>
    <meta  http-equiv="Content-Type" content="text/html;  charset=iso-8859-1">
    <title>Search  Contacts</title>
  </head>
  <body>
    <h3>Search  Contacts Details</h3>
    <p>You  may search either by first or last name</p>
    <form  method="post" action="#"  id="searchform">
      <input  type="text" name="name">
      <input  type="submit" name="submit" value="Search">
    </form>

<?php
$servername = "xxx";
$username = "xxx";
$password = "xxx";
$dbname = "Staff";
$myquery = $_POST["name"];

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);

// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());

搜索联系人
搜索联系人详细信息
您可以按名字或姓氏搜索


您需要使用
将SQL语句更正为类似

$sql = "select ID, FirstName, LastName, Email, PhoneNumber  
       from Userlist where FirstName LIKE '%". $myquery  ."%'" ;
另外,由于
$myquery
变量依赖于
$\u POST
,因此我认为您应该执行以下操作:

if (!empty($_POST["name"])) {

    $myquery = $_POST["name"];

    $sql = "select ID, FirstName, LastName, Email, PhoneNumber 
           from Userlist where FirstName LIKE '%". $myquery  ."%'" ;

    //Get query on the database
    $result = mysqli_query($conn, $sql);

    //Check results
    if (mysqli_num_rows($result) > 0)
    {
      while($row = mysqli_fetch_assoc($result))
        {
          echo "id:" . $row["ID"] . 
               " - Name: " . $row["LastName"]. " " . $row["FirstName"]. // Correct here 
               " - Email: " . $row["Email"] . 
               " - PhoneNumber: " . $row["PhoneNumber"]. "<br>";
        }
    } else {
        echo "0 results";
    }
}
if(!empty($\u POST[“name”])){
$myquery=$\u POST[“name”];
$sql=“选择ID、姓氏、姓氏、电子邮件、电话号码
来自名为“%”“$myquery.”“%”的用户列表;
//获取对数据库的查询
$result=mysqli\u查询($conn,$sql);
//检查结果
如果(mysqli_num_行($result)>0)
{
while($row=mysqli\u fetch\u assoc($result))
{
回显“id:”.$行[“id”]。
“-Name:.$row[“LastName”]。.$row[“FirstName”]。//请在此处更正
“-电子邮件:”.$row[“电子邮件”]。
“-PhoneNumber:”.$row[“PhoneNumber”]。“
”; } }否则{ 回显“0结果”; } }

并确保表单操作与PHP代码所属的当前页面相同。

在if(!$conn){}之后缺少右大括号。

尝试为每行输出使用回显。 第二,注意“建议”。
第三,为了安全起见,请转义post变量。

您到底遇到了哪些错误?检查您的错误日志您忘记了SQL语句中的。抱歉,我没有看到任何错误,我正在记事本上写下这个,并通过web浏览器运行它,看看它是否有效,并且它没有显示任何内容。如果我删除php代码,我可以看到表单,我测试了我与数据库的连接,我可以连接,但是当我放置php代码进行搜索时,我再也看不到我的html搜索表单了。你使用的是哪台服务器?我们需要看到错误消息,因为如果你的HTML没有显示,这意味着有一个PHP错误,不允许加载任何其他内容。嗨,我使用vmware和ubuntu,安装了LAMP,我只是在根驱动器上创建一个.PHP文件,测试它在浏览器中是否工作,我不知道在哪里可以看到日志文件。。Sorry这不是正确的修复方法:$sql=“从用户名类似“%”的用户列表中选择ID、FirstName、LastName、Email、PhoneNumber$我的查询。“%'”@devJunk你写的东西和密码悖论一样。¯_(ツ)_/“他编辑了它。第二个”在%之前您好,谢谢您的帮助,但是我的html表单仍然没有显示…@XanderVane check update answerYes我的ubuntu系统上有LAMP,我可以从phpmyadmin输出表,而不需要html代码块,但是如果我合并它们,什么也看不出来。我最初加载页面时,您的评论不在那里……php不会停止该页面的加载g、 你在body标签前面有一个标签,试着去掉它。谢谢你,之前很抱歉。我已经在body标签前面去掉了标签,但是仍然没有显示。在表单action url之后的查询是什么,在
?go
部分?因为你只提交给self-will-action=“#”不做?这是你的意思我应该做的吗?action=“#”,我现在试着运行它,但仍然不起作用。谢谢,我遵循了“建议,我在html代码中使用了$\u POST从表单方法获取值,这是我在某处看到的。我现在的主要问题是,我的html搜索表单没有显示用户输入的表单,还是您正在尝试用php输出表单?
if (!empty($_POST["name"])) {

    $myquery = $_POST["name"];

    $sql = "select ID, FirstName, LastName, Email, PhoneNumber 
           from Userlist where FirstName LIKE '%". $myquery  ."%'" ;

    //Get query on the database
    $result = mysqli_query($conn, $sql);

    //Check results
    if (mysqli_num_rows($result) > 0)
    {
      while($row = mysqli_fetch_assoc($result))
        {
          echo "id:" . $row["ID"] . 
               " - Name: " . $row["LastName"]. " " . $row["FirstName"]. // Correct here 
               " - Email: " . $row["Email"] . 
               " - PhoneNumber: " . $row["PhoneNumber"]. "<br>";
        }
    } else {
        echo "0 results";
    }
}