ERLEDIGT
JA
JA
ANTWORTEN
12
12
ZUGRIFFE
920
920
EMPFEHLEN
-
Hallo zusammen,
ich habe ein Problem mit der Funktion mysql_select_db(). Wenn ich sie, wie folgt, einsetze funktioniert sie einwandfrei:
wenn ich jedoch das ganze etwas anders schreibe bekomme ich den Error:PHP-Code:if($verbindung = mysql_connect($sqladresse, $sqluser, $sqlpass)){
$db_selected = mysql_select_db($sqldatabase, $verbindung);
$request = "SELECT name
FROM site_id
WHERE id = '$id'";
$result = mysql_query($request, $verbindung);
if(mysql_num_rows ($result) > 0){
$data = mysql_fetch_array ($result);
$name = $data["name"];
$name = "inhalt/".$name;
Include ($name);
}
else{
Include("inhalt/error.php");
}
}
else{
Include("inhalt/error.php");
}
Fatal error: Call to undefined function  mysql_select_db() in /bla/db.php on line 18
wieso kann er beim 1. Beispiel die SELECT-Anfrage machen und beim 2. Beispiel die Datenbank nicht korrekt anwählen?PHP-Code:$verbindung = mysql_connect($sql_server,$user,$pass);
echo "".$verbindung."<br>";
if(!$verbindung){
echo "1.1";
die('Kann die Verbindung nicht aufbauen! Fehler:'.mysql_error());
}
else{
echo "".$sql_db."<br>";
$db_selected=mysql_select_db($sql_db, $verbindung);
echo "".$db_selected."<br>";
if(!$db_selected){
die('Kanndie Datenbank '.$sql_db.'nichtbenutzen! Fehler:'.mysql_error());
}
else{
$ergebnis=mysql_query($abfrage);
if(!$ergebnis){
die('Die Abfrage: '.$abfrage.' ist ungültig! Fehler:'.mysql_error());
}
else{
if(mysql_num_rows ($ergebnis) > 0){
$datensatz = mysql_fetch_array($ergbnis);
//return $datensatz;
}
else{
die('Die Abfrage brachte kein Ergebnis!');
}
}
}
}

Hab schon google und das Forum nach einem brauchbaren Hinweis durchforstet.
Ich hoffe ihr könnt mir einen Tip geben was ich hier falsch mache!
vielen Dank im voraus!
Gruss Christoph
-
Mit welchen Betriebssystem wurde die Datei erstellt und worauf wird sie ausgeführt?
Ich würde vorschlagen einfach mal alle Umlaute zu entfernen, auch wenn es auch für mich keinen Sinn ergibt, dass der Fehler an genau dieser Stelle auftritt.mfg
DeluXe
-
Die Datei wurde mit MacOS erstellt und wird auf nem Webserver ausgeführt(System weiss ich grad net) komischerweise funktioniert das ganze ja mit den gleichen Variablen
mfgGeändert von Panzer (19.09.09 um 23:49 Uhr)
-
bin etwas verwirrt bei der unteren Version.
Was willst du eigentlich mit den vielen echos erreichen?
bzw. versuchst du $sql_db auszugeben, ich seh aber nirgends, dass die vorher definiert wurde, $sqladresse, $sqluser, $sqlpass hast du aber sicher vorher definiert
-
Die echos waren nur zur Kontrolle habe alles definiert (auch sql_db) im Prinzip wollte ich den Zugriff auf den sql server auslagern und entsprechend generalisieren. Am Anfang stand die Idee eine eigene Funktion zu schreiben die mit den entsprechenden Werten gefüttert wird und dann das Ergebnis mit dem return-Befehl zurück gibt.
zB.
am Ende sollte dann das SQL Ergebnis als Array zurück kommen ... da aber nicht mal die Abfrage korrekt läuft ist das erstmal in den Hintergrund gestelltPHP-Code:
function sql_request($server,$user,$pass,$db,$anfrage){
//und hier dann mein 2.Beispiel
return ($abfrage);
}
-
Moin,
hört sich irgendwie unlogisch an das ganze.
Um erstmal eine ganz banale Fehlerursache auszuschliessen:Das rot markierte Zeichen, steht das dort wirklich in der Fehlermeldung? Falls ja, wäre es u.U. interessant, wo es herkommt.Code :1
Call to undefined function [COLOR="Red"][SIZE="6"]Â[/SIZE][/COLOR] mysql_select_db()
Ansonsten wäre es gut, wenn du den tatsächlichen Code komplett postest, anstatt nur Teile davon.
Wenn bspw. das 2. Fragment aus deinem 1. Posting in der Funktion aus deinem vorangegangenen Posting stehen, lassen sich dort jene Auffälligkeiten feststellen:
Die Funktion erhält u.A. die Parameter $server, $db und $anfrage.....in deinem 2. Codefragment verwendest du aber die Variablen $sql_server , $abfrage und $sql_db
Wenn du sagst, dass die Variablen irgendwo definiert sind, dann ist das schön, sofern sie aber nicht in der Funktion deklariert oder per global bekannt gemacht wurde,.ohne Wirkung.
-
zu deiner 1. Frage ja die Fehlermeldung wird genauso ausgegeben ... und woher das Zeichen kommt kann ich mir net erklären!
kann es vllt mit den verschachtekten if-abfragen zu tun haben?PHP-Code:<?php
$sql_server="localhost";
$sql_user="xxx";
$sql_pass="xxx";
$sql_db="xxx";
$id = $_GET["id"];
$abfrage = "SELECT name FROM site_id WHERE id = '$id'";
$verbindung = mysql_connect($sql_server,$sql_user,$sql_pass);
echo "".$verbindung."<br>";
if(!$verbindung){
echo "1.1";
die('Kann die Verbindung nicht aufbauen! Fehler:'.mysql_error());
}
else{
echo "".$sql_db."<br>";
$db_selected=mysql_select_db($sql_db, $verbindung);
echo "".$db_selected."<br>";
if(!$db_selected){
echo "2.2";
die('Kanndie Datenbank '.$sql_db.'nichtbenutzen! Fehler:'.mysql_error());
}
else{
$ergebnis=mysql_query($abfrage);
if(!$ergebnis){
die('Die Abfrage: '.$abfrage.' ist ungültig! Fehler:'.mysql_error());
}
else{
if(mysql_num_rows ($ergebnis) > 0){
$datensatz = mysql_fetch_array($ergbnis);
var_dump ($datensatz);
//HIER KOMMT DANN DER DATENSATZ ZURÜCK bzw return $datensatz;
}
else{
die('Die Abfrage brachte kein Ergebnis!');
}
}
}
}
?>
gruss christoph
-
Also den einzigen Fehler, den ich erkenne, findest du hier:
...da fehlt das eCode :1
$datensatz = mysql_fetch_array($er[COLOR="Red"]gb[/COLOR]nis);
Ansonsten, wenn der Fehler danach immer noch auftritt(was er sollte, denn das fehlende e kann ihn nicht verursachen), hätte ich wohl etwas ähnliches in Verdacht wie DeluXe....ein Problem mit dem Dateiformat.
Speichere die Datei mit einem standardisierten Zeichensatz wie Latin1 oder UTF8, und konvertiere die Datei nach UNIX(dort besteht ein Zeilenumbruch aus einem Zeilenvorschub(LF)....beim MAC aus dem "Wagenrücklauf"(CR) )
So ansich funktioniert der Code(mit dem hinzugefügten e) bei mir problemlos.
-
Also ich hab das ganze noch mal mit dem UTF8 unter Linux konvertiert und ... nix ... gleiches problem wie vorher nur das jetzt plötzlich seltsame Zeichen ausgegeben werden!?
1. Resource id #5
2. web2s8874sql1
Fatal error: Call to undefined function  mysql_select_db() in /inhalt.php on line 30 <--
-
20.09.09 19:00 #10
Das ersten Zeichen deutet darauf hin, dass du es mit Byte Order Mark (BOM) abgespeichert hast.
Das sollte nicht so sein, sondern UTF-8 ohne BOM.KIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
-
ok das wäre geklärt ... aber das script an sich noch nicht -.-
vllt noch jemand nen tip? bzw kann vllt jemand das script mal bei sich ausführen?
danke schon mal im voraus
ps nehmt das zweite gepostete script
-
Ich hab das 2. gepostete Skript gestern bei mir ausgeführt, und es funktionierte problemlos. )
Vor allem kein Â
Hänge doch dies Skript mal als Anhang hier ran(so wie es auf dem Webserver liegt), vielleicht filtert die Forensoftware ja irgendwas aus dem Code raus.
Ahso...natürlich vorher deine Zugangsdaten entfernen
-
Habe nocheinmal alles überprüft ... den Variablen-Namen geändert ... tadaaa es funktioniert Aber fragt mich nicht warum!
Hier nochmal das Script:
Danke an alle die sich hier bemüht haben!!PHP-Code:$sql_server="localhost";
$sql_user="xxx";
$sql_pass="xxx";
$sql_datenbank="xxx";
$id = $_GET["id"];
$request = "SELECT name FROM site_id WHERE id = '$id'";
$verbindung = mysql_connect($sql_server,$sql_user,$sql_pass);
echo "1. ".$verbindung."<br>";
if(!$verbindung){
echo('Kann die Verbindung nicht aufbauen! Fehler:'.mysql_error());
}
else{
echo "2. ".$sql_datenbank."<br>";
$db_selected = mysql_select_db($sql_datenbank, $verbindung);
if(!$db_selected){
echo('Kanndie Datenbank '.$sql_db.'nichtbenutzen! Fehler:'.mysql_error());
}
else{
echo "3. ".$db_selected."<br>";
$ergebnis = mysql_query($request, $verbindung);
//$ergebnis=mysql_query($abfrage, $verbindung);
if(!$ergebnis){
echo('Die Abfrage: '.$request.' ist falsch! Fehler:'.mysql_error());
}
else{
echo"4. ".$ergebnis."<br>";
if(mysql_num_rows ($ergebnis) > 0){
$datensatz = mysql_fetch_array($ergebnis);
var_dump ($datensatz);
}
else{
echo('Die Abfrage '.$request.' brachte kein Ergebnis!');
}
}
}
}
Christoph
Ähnliche Themen
-
Fehler bei mysql_select_db() innerhalb einer Funktion
Von sheeba1507 im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 05.10.10, 03:03 -
Funktion gibt nichts zurück
Von queicherius im Forum PHPAntworten: 8Letzter Beitrag: 14.08.09, 19:53 -
Funktion gibt nix zurück
Von Soapp im Forum PHPAntworten: 6Letzter Beitrag: 18.09.06, 19:02 -
Dumme Frage: Funktion, die ein Array zurück gibt...?
Von HAL im Forum PHPAntworten: 1Letzter Beitrag: 06.10.05, 15:33 -
Thumbnail-Funktion gibt Bild-Code zurück
Von Moritz123 im Forum PHPAntworten: 4Letzter Beitrag: 11.05.05, 11:00





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren