PHP: MySQL Inhalt ausgeben

05/11/2013 14:53 cяαzуℓυмι#1
Hey Leute,

ich möchte mir von einer MySQL DB aus einer existierenden Tabelle die beiden Spalten so ausgeben lassen, dass man diese ohne große Probleme mit AutoIt einlesen kann. Weiß jemand wie das geht?
05/11/2013 15:08 reCougar#2
Einfach in einem php skript per echo "rausschreiben" und dann per Request lesen, wenn ich mich nicht irre. Mit C# würde es zumindest so gehen.
05/11/2013 15:19 cяαzуℓυмι#3
Ich bin ein kompletter PHP lappn. Ich brauche das nur für ein Projekt. Kannst mir ein bissle weiterhelfen?
05/11/2013 17:36 #SoNiice#4
Weißt du wie man mit AutoIt splittet? Wenn ja, dann gibt es einfach mit echo $row1.";".$row2;

aus.
05/11/2013 18:47 Server4ever#5
Eine einfache Abfrage ist gar nicht so kompliziert, hier ist erst mal die allgemeine Form:


PHP Code:
<?php
$abfrage 
"SELECT Spaltenname FROM Tabellenname";
$ergebnis mysql_query($abfrage);
while(
$row mysql_fetch_object($ergebnis))
   {
   echo 
"$row->Spaltenname";
   }
?>
Hoffe dir geholfen zu haben :)
05/11/2013 19:05 cяαzуℓυмι#6
Der Code:
PHP Code:
<?php
require_once('db_config.php');

mysql_connect($host$user$pass);
mysql_select_db($dbase);

$tab mysql_real_escape_string($_GET['tab']);

$ergebnis mysql_query("SELECT User FROM $tab");
$ergebnis2 mysql_query("SELECT PW FROM $tab");
while(
$row mysql_fetch_object($ergebnis) || $row2 mysql_fetch_object($ergebnis2))
{
  echo 
$row.";".$row2;
}
?>
Die Fehlermeldung:
Quote:
1;1;1;1;1;1;1;1;1;1;
Catchable fatal error: Object of class stdClass could not be converted to string in /home/loftigar/public_html/check/read.php on line 13
05/11/2013 19:10 flickz.#7
Mach statt
Code:
while($row = mysql_fetch_object($ergebnis) || $row2 = mysql_fetch_object($ergebnis2))
Das hier:
Code:
while($row = mysql_fetch_object($ergebnis) && $row2 = mysql_fetch_object($ergebnis2))
Und statt
Code:
echo $row.";".$row2;
Das:
Code:
echo $row->User.";".$row2->PW;
05/11/2013 19:42 #SoNiice#8
Du solltest natürlich nicht meine Variablennamen übernehmen, diese waren lediglich als Denkansatz für dich, tut mir leid falls dies ein wenig verwirrend war.
05/12/2013 00:38 Mikesch01#9
PHP Code:
 <?php
require_once('db_config.php');

mysql_connect($host$user$pass);
mysql_select_db($dbase);

$tab mysql_real_escape_string($_GET['tab']);

$ergebnis mysql_query("SELECT User, PW FROM $tab");
while(
$row mysql_fetch_object($ergebnis))
{
  echo 
$row->User.";".$row->PW;
}
?>
Musst nur eine Abfrage machen ;)
05/12/2013 17:53 Cooltek#10
Hey,
böse, aus, niemals so angewöhnen. Ein richtiger Weg wäre mit PDO:
Code:
define('db_host', '127.0.0.1');
define('db_user', 'root');
define('db_pass', '');
define('db_data', 'gallery');
$db = new PDO('mysql:host='.db_host.';dbname='.db_data.';', db_user, db_pass);
$db->exec('SET NAMES UTF8'); // einfacher Query, ohne Userinput

// Queries mit Usereingabe:
$query = $db->prepare('INSERT INTO tab1(col1) VALUES (:val1)');
$query->bindParam(':val1', $deineVariable);
if($query->execute){
echo "Query erfolgreich";
}else{
echo "Fehler!";
}
Das hab ich einfach mal ausm Kopf niedergeschrieben, also nicht getestet, sollte aber gehen.
Lerns gleich Richtig oder lass es am Besten. PDO ist der imho beste Weg für Datenbanken in PHP.
05/12/2013 18:12 #SoNiice#11
PDO ist aber definitiv keine Pflicht, für kleine Sachen nutze ich auch noch die standardisierten MySQL Funktion. Objektorientierte Programmierung brauch man bei kleinen 10 Zeilen Codes noch lange nicht, aber jedem das seine.
05/12/2013 18:38 Cooltek#12
Quote:
Originally Posted by SoNiice View Post
PDO ist aber definitiv keine Pflicht, für kleine Sachen nutze ich auch noch die standardisierten MySQL Funktion. Objektorientierte Programmierung brauch man bei kleinen 10 Zeilen Codes noch lange nicht, aber jedem das seine.
Hey,
Pflicht ist das keine, klar. Aber der TE ist PHP-Newbie, also würd ich es ihm lieber gleich mit PDO beibringen. Die alten SQL Funktionen bringen nur Nachteile und aufgeblähten Code. Wieso man die Nutzung des Datenbankzugriffsmodells nun von der Länge des Codes abhängig machen sollte ist mir schleierhaft..:confused:
05/12/2013 19:03 #SoNiice#13
Quote:
Originally Posted by Cooltek View Post
Hey,
Pflicht ist das keine, klar. Aber der TE ist PHP-Newbie, also würd ich es ihm lieber gleich mit PDO beibringen. Die alten SQL Funktionen bringen nur Nachteile und aufgeblähten Code. Wieso man die Nutzung des Datenbankzugriffsmodells nun von der Länge des Codes abhängig machen sollte ist mir schleierhaft..:confused:
Hatte mich nur falsch ausgedrückt, ich bin nicht direkt auf das PDO eingegangen, sondern mehr auf die allgemeine OOP, tschuldigung.

Ich finde nämlich, dass sich OOP bei kleinen Codes nicht lohnt, da es natürlich ein größerer Aufwand dahinter befindet - Aber für geübte Leute macht das sicherlich keinen Unterschied.
05/12/2013 19:12 Cooltek#14
Hey,
kein Problem - ich akzeptier den Standpunkt. Ich hasse auch Codes, die man genausogut für Java halten könnte (*hust*Symfony*hust*) weil sie für jeden Scheiss ne Klasse wollen. Aber speziell bei PDO merk ichs schon nicht mehr, habs aber auch erstmal mit den mysql_xx gelernt. Ich wünschte mir, ich hätte damals schon von PDO erfahren - vllt geht's dir ja auch so? :)
Ansonsten natürlich jeder wie er mag, aber ich liebe einfach PDO mittlerweile. Sicherheitstechnisch um Meilen besser (prepared Statements) und man kann Integrität sicherstellen (Transaktionen rocken!)
lg