|
You last visited: Today at 19:25
Advertisement
[PHP] Datensätze durchsuchen?
Discussion on [PHP] Datensätze durchsuchen? within the Web Development forum part of the Coders Den category.
01/26/2016, 19:30
|
#16
|
TBM Head Mod
elite*gold: 28
Join Date: Oct 2012
Posts: 27,419
Received Thanks: 2,258
|
Quote:
Originally Posted by .Barone
Kleiner tipp:
Säubere mal den Code und halte ihn ordentlich, du findest dich hinterher nichtmehr zurecht.
die <script></script> tags kommen in den header.. nicht in den body.
Außerdem solltest du dir nochmal anschauen wie solch eine datei aufgebaut ist. du schließt 2mal den html tag, obwohl er einmal offen ist.
|
Ebenfalls zu beachten ist, dass er erst die Bibliothek einbindet (jQuery) und dann sein script mit dem async Attribute einbindet.
Liebe Grüße,
Icetea'
|
|
|
01/26/2016, 19:37
|
#17
|
elite*gold: 30
Join Date: Mar 2013
Posts: 1,492
Received Thanks: 205
|
Quote:
Originally Posted by Icetea'
Ebenfalls zu beachten ist, dass er erst die Bibliothek einbindet (jQuery) und dann sein script mit dem async Attribute einbindet.
Liebe Grüße,
Icetea'
|
Habs nicht in einer einzelnen Datei drin, hast aber natürlich Recht, danke
|
|
|
01/26/2016, 19:38
|
#18
|
TBM Head Mod
elite*gold: 28
Join Date: Oct 2012
Posts: 27,419
Received Thanks: 2,258
|
Quote:
Originally Posted by CeLiFiG
Mein Script ist mit den <script> </script> tags drin, habs also nicht in einer externen Datei drin
|
async hat nichts mit extern oder nicht zu tun. Tipp es einfach mal in deine Suchmaschine ein...
Liebe Grüße,
Icetea'
|
|
|
01/26/2016, 19:41
|
#19
|
elite*gold: 0
Join Date: Dec 2014
Posts: 276
Received Thanks: 84
|
Code:
$username = mysqli_real_escape_string($verbindung,$_POST["suchInput"]);
ist falsch. es muss
Code:
mysqli_real_escape_string($verbindung,$_POST["suchbegriff"]);
sein, wenn ich nicht falsch liege.
|
|
|
01/26/2016, 19:55
|
#20
|
elite*gold: 30
Join Date: Mar 2013
Posts: 1,492
Received Thanks: 205
|
Quote:
Originally Posted by .Barone
Code:
$username = mysqli_real_escape_string($verbindung,$_POST["suchInput"]);
ist falsch. es muss
Code:
mysqli_real_escape_string($verbindung,$_POST["suchbegriff"]);
sein, wenn ich nicht falsch liege.
|
Hab jetzt das gemacht:
Code:
$username = mysqli_real_escape_string($verbindung,$_POST["suchbegriff"]);
Was am Anfang auch so war, da ich dachte das es etwas mit "suchbegriff" zu tun haben könnte.. naja. Die Erste Fehlermeldung kommt aufjedenfall nicht mehr.
Die Fehlermeldung bleibt dennoch.
Code:
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\detailzz.php on line 6
Line 6 - 8
Code:
while($result = mysqli_fetch_assoc($query)) {
echo "Name:$result[name] <br /> Alter:$result[datum] <br />";
}
|
|
|
01/26/2016, 20:40
|
#21
|
Moderator
elite*gold: 558
Join Date: Feb 2010
Posts: 6,546
Received Thanks: 1,418
|
Irgendwas stimmt bei deiner SQL-Abfrage nicht, deshalb steht "false" (boolean) in $query und kein mysqli_result. Du solltest dir vielleicht mal den Fehler ausgeben lassen.
|
|
|
01/26/2016, 22:24
|
#22
|
TBM Head Mod
elite*gold: 28
Join Date: Oct 2012
Posts: 27,419
Received Thanks: 2,258
|
Quote:
Originally Posted by ComputerBaer
Irgendwas stimmt bei deiner SQL-Abfrage nicht, deshalb steht "false" (boolean) in $query und kein mysqli_result. Du solltest dir vielleicht mal den Fehler ausgeben lassen.
|
Wie mein Vorposter bereits erwähnte solltest du dir den Fehler einmal ausgeben lassen mit var_dump();
Hab dir hier mal eine Funktion in PHP dazu geschrieben, die du generell für deine Fehlerausgaben nutzen kannst um genaueres zu erfahren. Wie du die Funktion nutzt brauch ich dir, denke ich, nicht zu erklären. Wenn doch, einfach posten.
PHP Code:
function my_var_dump($expression) { echo '<pre>'; var_dump($expression); echo '</pre>'; }
Liebe Grüße,
Icetea'
|
|
|
01/26/2016, 22:32
|
#23
|
elite*gold: 0
Join Date: May 2010
Posts: 6,853
Received Thanks: 5,106
|
Im connect von mysqli fehlt noch die Auswahl der Datenbank. Ihr connected zwar zum Server aber nen Statement zu feuern ohne Datenbank auszuwählen bringt halt auch keine results.
Wieso müssen script tags in den Header? Es ist durchaus in bestimmten Situationen legitim diese an den Ende des Body zu schieben finde ich.
|
|
|
01/26/2016, 23:40
|
#24
|
TBM Head Mod
elite*gold: 28
Join Date: Oct 2012
Posts: 27,419
Received Thanks: 2,258
|
Quote:
Originally Posted by Serraniel
Im connect von mysqli fehlt noch die Auswahl der Datenbank. Ihr connected zwar zum Server aber nen Statement zu feuern ohne Datenbank auszuwählen bringt halt auch keine results.
Wieso müssen script tags in den Header? Es ist durchaus in bestimmten Situationen legitim diese an den Ende des Body zu schieben finde ich.
|
Richtig, fällt mir auch gerade auf ...
PHP Code:
$database = mysqli_connect("127.0.0.1", "username", "password", "database");
Oder schau dir  an, was ich total simpel und strukturiert finde.
@Serraniel: Es ist legitim, aber warum sollte man es machen wenn es das async Attribute gibt. Auch ich habe es immer vor dem </body> Tag eingebunden, aber als ich das async Attribute kennengelernt habe ist es für mich einfacher, und vor allem in meinen Augen sauberer das ganze im <head> Tag einzubinden. Kannst dir das ganze ja mal anschauen.
Liebe Grüße,
Icetea'
|
|
|
01/27/2016, 13:36
|
#25
|
elite*gold: 0
Join Date: May 2012
Posts: 871
Received Thanks: 642
|
Da dein Verbindungsaufbau zu unsicher ist, was daran liegt, dass du, wie du selbst sagst, wenig Erfahrung in diesem Bereich vorweisen kannst, möchte ich dir an dieser Stelle meine Datenbankklasse, basierend auf MySQLi, zur Verfügung stellen.
Beispiele:
PHP Code:
$this->sql->Escape( $array );
PHP Code:
$this->sql->Send( "SELECT ..." );
Für das einfügen, löschen oder überschreiben von Daten solltest du diese Funktion nutzen, da diese mit der Funktion "Rollback" zusammen arbeitet.
PHP Code:
$this->sql->Send2( "INSERT ..." );
$this->sql->Send2( "UPDATE..." );
$this->sql->Send2( "DELETE..." );
$this->sql->Commit();
Meine Datenbanklasse:
PHP Code:
<?php
class DB
{
private $sql;
private $result;
private $exec;
function __construct( $database = null )
{
$this->sql = @new MySQLi( DB_HOST, DB_USER, DB_PASS, $database == null ? DB_BASE : $database );
$this->sql->autocommit( false );
if( $this->sql->connect_errno )
{
//change
die( "Unable to connect with the database. Error: " . $this->sql->connect_errno . " - " . $this->sql->connect_error);
}
}
public function Escape( $post )
{
foreach($post as $key => $value)
{
$value = htmlspecialchars( $value );
$value = htmlentities( $value );
$value = strip_tags( $value );
$value = $this->sql->escape_string( $value );
}
return $post;
}
public function Send ( $qry )
{
$this->result = DB::Exec( $qry );
if( $this->sql->errno )
{
die( "Error: " . $this->sql->errno . " - " . $this->sql->error);
}
return DB::Result();
}
public function Send2 ( $qry )
{
$this->result = DB::Exec( $qry );
}
public function Commit()
{
if( $this->sql->errno )
{
$this->sql->rollback();
die( "Error: " . $this->sql->errno . " - " . $this->sql->error);
}
$this->sql->commit();
}
private function Exec( $qry )
{
$exec = @$this->sql->query( $qry );
return $exec;
}
private function Result()
{
if( $this->result != "1" )
{
$arr = array();
if (!function_exists('mysqli_fetch_all')){
$arr['obj'] = [];
while ($row = $this->result->fetch_assoc()) {
$arr['obj'][] = $row;
}
}else {
$arr['obj'] = $this->result->fetch_all(MYSQLI_ASSOC);
}
$arr['rows'] = $this->result->num_rows;
return $arr;
}
else
{
return 3;
}
}
}
|
|
|
 |
|
Similar Threads
|
Datensätze erzeugen problem
04/26/2015 - Web Development - 7 Replies
Abend,
Ein Nutzer kann 4 Sachen eintragen die dann später in die Datenbank gespeichert werden. Vorname , Name , msnummer , gehalt.
Jedoch entsteht immer der Fehler " Es ist ein Fehler aufgetreten ".
Ich weiß nicht woran es liegt.. hier der Code:
|
Datensätze per Klick ändern ?
02/07/2015 - Web Development - 4 Replies
Hallo,
Habe mir die Frage gestellt, wie man es hinbekommt, ein Datensatz mit einem Klick in eine textarea zu verändern und diese zu bearbeiten.
Wie ich auf die Idee komme ? Habe es bei phpmyadmin gesehen und würde gerne wissen wie das funktioniert.
Jemand eine Idee zur Umsetzung bzw. den Mechanismus ?
http://i.epvpimg.com/K6ggg.png
|
[PHP] ca. 90 000 Datensätze verarbeiten
07/03/2014 - Web Development - 9 Replies
Moin,
ich hab mir nen SQL Query gebastelt womit ich ne Statistik anlegen will und grafisch darstellen will über Aufrufe in den letzten 24 Stunden. PHP gecoded ist alles soweit, nur scheint es so, als ob PHP nicht mit der Menge der Datensätze klar kommt und irgendwann einfach sagt: Ne ist nicht, ich gib dir nen 500er zurück.
Gibts da vielleicht ne alternative das Result meiner Query zu verarbeiten?
Aktuell:
$db = @new mysqli($server, $user, $pass, $database);
if(mysqli_connect_errno()...
|
Letzten 5 Datensätze ausgeben
08/15/2012 - Web Development - 4 Replies
<?php
include('../config/database_trade.php');
$sql_select_trades = "SELECT * FROM trades";
$sql_select_trades_query = mysql_query($sql_select_trades);
$sql_row = mysql_fetch_object($sql_select_trades_query);
echo "<table border='1'>";
|
[S] Datensätze aus Telefonbuch [B] egold
11/26/2011 - elite*gold Trading - 6 Replies
Hi ich suche jemandem der mir jeden Tag zwei Datensätze aus dem deutschen Telefonbuch sagt. Ich würde euch pro Woche, sprich 14 Datensätze, 5 Egold zahlen.
Es muss folgendes enthalten sein:
Name (Vor- und Nachname)
Telefonnummer
Postleitzahl
Ort
Straße
Hausnummer
|
All times are GMT +1. The time now is 19:25.
|
|