Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.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
在SQL查询上创建PHP表_Php_Sql_Mysqli_Html Table - Fatal编程技术网

在SQL查询上创建PHP表

在SQL查询上创建PHP表,php,sql,mysqli,html-table,Php,Sql,Mysqli,Html Table,我想为我们内置的所有系统创建一个自己的“谷歌”或“维基”。当我在mysql上执行此操作时,有一个查询正在工作,它没有反应,也没有输出任何数据 我有一个用于de关键字的文本框和一个commandbox: 我想打开一个新的网站,在我的数据库中搜索关键字,并在html表格中提供正确的数据 当我看我的代码时,它看起来是正确的。。我真的不知道怎么了。。如果有人能帮助我,我将非常感激 代码: <!DOCTYPE html> <html> <head> <m

我想为我们内置的所有系统创建一个自己的“谷歌”或“维基”。当我在mysql上执行此操作时,有一个查询正在工作,它没有反应,也没有输出任何数据

我有一个用于de关键字的文本框和一个commandbox:

我想打开一个新的网站,在我的数据库中搜索关键字,并在html表格中提供正确的数据

当我看我的代码时,它看起来是正确的。。我真的不知道怎么了。。如果有人能帮助我,我将非常感激

代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset=UTF-8>
    <title>Wiki Suche</title>
</head>
<body>
<b>Wiki-Suche</b>
<form action='' method ='POST'>
    <input type='text' name='suchfeld' placeholder="z.B. Baan">
    <input type='submit' name='suche_enter' value='Suchen'>
</form>
<hr><br>
<?php
if(isset($_POST['suche_enter'])) {
//Verbindung zum DB
    $mysqli = new mysqli('localhost', 'normal_user', '', 'Systemuebersicht');
    $suchbegriff = htmlspecialchars($_POST['suchfeld']);
    $suchbegriff = $mysqli->real_escape_string($suchbegriff);

//Error abfangen
    if ($mysqli->connect_error)
        die('Fehler bei der Verbindung: ' . $mysqli->connect_error);


    $sql = '
    SELECT 
hardware_servername.Servername AS "Servername", 
hardware_domaene.Domaene AS "Domäne", 
hardware_betriebssystem.Betriebssystem AS "Betriebssystem", 
Hardware.Lokale_Datenbank AS "Lokale Datenbank", 
Hardware.Datenbank_SQL_Master AS "Datenbank SQL Master", 
Hardware.Instanzname AS "Instanzname", 
hardware_standort.Standort AS "Standort", 
Hardware.Backup_mit AS "Backup mit:",
Service.Servicename AS "Servicename", 
system_systemnummer.Systemnummer AS "Systemnummer", 
system_systemname.Systemname AS "Systemname",
System.Systembeschreibung AS "Systembeschreibung", 
AA.Personen AS "Hersteller",     
AB.Personen AS "Externer Partner", 
system.BKAG_Brugg AS "BKAG (Brugg)", 
System.BCIAG_Brugg AS "BCIAG (Brugg)",  
System.Cables_Diverse_PL_CN_US_DE AS "Cables Diverse (PL, CN, US, DE)", 
System.BINF AS "BINF", 
System.BRAG_Kleindoettingen AS "BRAG (Kleindöttingen)", 
System.BRG_Wunstorf AS "BRG (Wunstorf)", 
System.BGP_Nordhausen "BGP (Nordhausen)", 
System.Pipes_Diverse_FR_PL_IT_US AS "Pipes Diverse (FR, PL,IT, US)", 
System.Ropes_BDAG_Birr AS "Ropes / BDAG (Birr)", 
System.HOLDING_Brugg AS "HOLDING (Brugg)", 
System.BIAG_Brugg AS "BIAG (Brugg)", 
System.BPK_Brugg AS "BPK (Brugg)", 
System.Dritte_Schule_Brugg_LithCom_usw AS "Dritte, Schule Brugg, LithCom usw.",
system_verfuegbarkeitsstufe.Verfuegbarkeitsstufe AS "Verügbarkeitsstufe",
System.Datenverlust AS "Datenverlust",
verantwortlichkeit_rolle.Rolle AS "Rolle",
A0.Personen AS "Hauptverantwortlicher", 
A1.Personen AS "Stellvertretung", 
A2.Personen AS "Wissensträger 1", 
A3.Personen AS "Wissensträger 2", 
A4.Personen AS "Verantwortlichkeit extern", 
Zertifikate.Zertifikatname AS "Zertifikatname", 
Zertifikate.Ablaufdatum AS "Ablaufdatum"
FROM Service
JOIN System ON Service.Servicename_ID = System.FK_Service_ID 
JOIN Hardware ON System.System_ID = Hardware.FK_System_ID 
JOIN Verantwortlichkeit ON System.System_ID = Verantwortlichkeit.FK_System_ID 
JOIN Zertifikate ON System.System_ID = Zertifikate.FK_System_ID
JOIN hardware_servername ON hardware.Servername = hardware_servername.Servername_ID
JOIN hardware_domaene ON hardware_domaene.Domaene_ID = hardware.Domaene
JOIN hardware_betriebssystem ON hardware_betriebssystem.Betriebssystem_ID = hardware.Betriebssystem
JOIN hardware_standort ON hardware_standort.Standort_ID = hardware.Standort
JOIN verantwortlichkeit_personen AS AA ON AA.Verantwortlichkeit_Personen_ID = system.Hersteller
JOIN verantwortlichkeit_personen AS AB ON AB.Verantwortlichkeit_Personen_ID = system.Externer_Partner
JOIN system_verfuegbarkeitsstufe ON system_verfuegbarkeitsstufe.Verfuegbarkeitsstufe_ID = system.Verfuegbarkeitsstufe
JOIN system_systemname ON system_systemname.Systemname_ID = system.Systemname
JOIN system_systemnummer ON system_systemnummer.Systemnummer_ID = system.Systemnummer
JOIN verantwortlichkeit_rolle ON verantwortlichkeit_rolle.Verantwortlichkeit_Rolle_ID = verantwortlichkeit.Rolle
JOIN verantwortlichkeit_personen AS A0 ON A0.Verantwortlichkeit_Personen_ID = verantwortlichkeit.Hauptverantwortlicher
JOIN verantwortlichkeit_personen AS A1 ON A1.Verantwortlichkeit_Personen_ID = verantwortlichkeit.Stellvertretung
JOIN verantwortlichkeit_personen AS A2 ON A2.Verantwortlichkeit_Personen_ID = verantwortlichkeit.Wissenstraeger_1
JOIN verantwortlichkeit_personen AS A3 ON A3.Verantwortlichkeit_Personen_ID = verantwortlichkeit.Wissenstraeger_2
JOIN verantwortlichkeit_personen AS A4 ON A4.Verantwortlichkeit_Personen_ID = verantwortlichkeit.Verantwortlichkeit_extern

WHERE
        hardware_servername.Servername LIKE "%$suchbegriff%"
        OR
        hardware_betriebssystem.Betriebssystem LIKE "%$suchbegriff%"
        OR
        Hardware.Lokale_Datenbank LIKE "%$suchbegriff%"
        OR
        Hardware.Datenbank_SQL_Master LIKE "%$suchbegriff%"
      ORDER BY
      hardware_servername.Servername
      ';

    //Variable erstellen
    $result = mysqli_query($mysqli, $sql) or die ("Bad Query: $sql");

    echo"<table border='1'>";
    echo "
<tr>
    <td>Systemnummer</td>
    <td>Servername</td>
    <td>Domäne</td>
    <td>Betriebssystem</td>
    <td>Lokale Datenbank</td>
    <td>Datenbank SQL Master</td>
    <td>Instanzname</td>
    <td>Standort</td>
    <td>Backup mit:</td>
    <td>Servicename</td>  
    <td>Systemname</td>
    <td>Systembeschreibung</td>
    <td>Hersteller</td>
    <td>Externer Partner</td>
    <td>BKAG (Brugg)</td>
    <td>BCIAG (Brugg)</td>
    <td>Cables Diverse (PL, CN, US, DE)</td>
    <td>BINF</td>
    <td>BRAG (Kleindöttingen)</td>
    <td>BRG (Wunstorf)</td>
    <td>BGP (Nordhausen)</td>
    <td>Pipes Diverse (FR, PL,IT, US)</td>
    <td>Ropes / BDAG (Birr)</td>
    <td>Holding (Brugg)</td>
    <td>BIAG (Brugg)</td>
    <td>BPK (Brugg)</td>
    <td>Dritte, Schule Brugg, LithCom usw.</td>
    <td>Verügbarkeitsstufe</td>
    <td>Datenverlust</td>
    <td>Rolle</td>
    <td>Hauptverantwortlicher</td>
    <td>Stellvertretung</td>
    <td>Wissensträger 1</td>
    <td>Wissensträger 2</td>
    <td>Verantwortlichkeit extern</td>
    <td>Zertifikatname</td>
    <td>Ablaufdatum</td>
</tr>";
    while ($row = mysqli_fetch_assoc($result)) {
        echo "
<tr>
     <td>{$row['Systemnummer']}</td>
    <td>{$row['Servername']}</td>
    <td>{$row['Domäne']}</td>
    <td>{$row['Betriebssystem']}</td>
    <td>{$row['Lokale Datenbank']}</td>
    <td>{$row['Datenbank SQL Master']}</td>
    <td>{$row['Instanzname']}</td>
    <td>{$row['Standort']}</td>
    <td>{$row['Backup mit:']}</td>
    <td>{$row['Servicename']}</td>
    <td>{$row['Systemname']}</td>
    <td>{$row['Systembeschreibung']}</td>
    <td>{$row['Hersteller']}</td>
    <td>{$row['Externer Partner']}</td>
    <td>{$row['BKAG (Brugg)']}</td>
    <td>{$row['Betriebssystem']}</td>
    <td>{$row['Cables Diverse (PL, CN, US, DE)']}</td>
    <td>{$row['BINF']}</td>
    <td>{$row['BRAG (Kleindöttingen)']}</td>
    <td>{$row['BGP (Nordhausen)']}</td>
    <td>{$row['Pipes Diverse (FR, PL,IT, US)']}</td>
    <td>{$row['Ropes / BDAG (Birr)']}</td>
    <td>{$row['HOLDING (Brugg)']}</td>
    <td>{$row['BIAG (Brugg)']}</td>
    <td>{$row['BPK (Brugg)']}</td>
    <td>{$row['Dritte, Schule Brugg, LithCom usw.']}</td>
    <td>{$row['Verügbarkeitsstufe']}</td>
    <td>{$row['Datenverlust']}</td>
    <td>{$row['Rolle']}</td>
    <td>{$row['Hauptverantwortlicher']}</td>
    <td>{$row['Stellvertretung']}</td>
    <td>{$row['Wissensträger 1']}</td>
    <td>{$row['Wissensträger 2']}</td>
    <td>{$row['Verantwortlichkeit extern']}</td>
    <td>{$row['Zertifikatname']}</td>
    <td>{$row['Ablaufdatum']}</td> 
</tr>";

    }
    echo "</table>";
}
?>
</body>
</html>

维基苏切
维基苏切



$sql=”
…您使用单引号生成字符串。然后在字符串中选择“%$suchbegriff%”“

您可能希望PHP将$suchbegriff转换为该变量包含的值。但是,它不会,因为您使用了单引号。要使字符串插值(这就是所谓的特性)起作用,字符串必须是双引号。根据我的经验,MySQL喜欢它的字符串被单引号引用

因此我提倡在查询中使用
$sql=“
etc”和
如“%$suchbegriff%”
etc


请参阅以了解更多详细信息。

我这样编写PHP已经很久了,但是
'
的表单操作似乎对我没有任何作用。一如既往,您可以在定义$sql之后
回显它,然后在phpMyAdmin中复制/粘贴,或者类似的操作,以查看您的查询是否正确并返回任何结果。
$POST['suche enter']
应该是
$\u POST['suche\u enter']
您有一个
exit();
用于终止脚本。您可能忘记了在
if($mysqli->connect\u error)中使用括号
…一般来说,我认为您需要更仔细地研究PHP语法,并意识到您遇到的大多数错误可能都很常见,您可以将它们粘贴到google中,并获得许多线索。此外,PHP.net上的文档是必读的。