| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

27-02-2011, 01:25
|
|
trainmen
Registrierter Benutzer
|
|
Registriert seit: Feb 2008
Beiträge: 49
|
|
Warning: mysql_query() expects
Ich bekomme die ganze Zeit eine Fehlermeldung, aber ich finde den Fehler nicht -.-
Fehler:
Code:
Warning: mysql_query() expects parameter 2 to be resource, boolean given in /var/www/dev/test/items_isset.php on line 5
File connect.php:
PHP-Code:
<?php
////SQL Verbindungsaufbau////
//SQL Zugangsdaten
$user = "user";
$pass = "pass";
$ip_port = "127.0.0.1:3306";
$db = "dbone";
//SQL Select Datenbank
$connect = mysql_connect($ip_port, $user, $pass) or die ("Verbindung konnte nicht aufgebaut werden: " .mysql_error());
$select_char_db = mysql_select_db($db, $connect) or die ("Datenbank könnte nicht SELECT werden: " .mysql_error());
?>
File items_isset.php:
PHP-Code:
<?php
error_reporting (E_ALL);
include "include/connect.php";
//Items werden in Tabele sotiert
mysql_query ('ALTER TABLE ahbot_items order by entry', $select_char_db);
?>
|

27-02-2011, 02:07
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Lies bitte im Handbuch nach, was der Rückgabewert von mysql_select_db ist, und ob das ein sinnvoller zweiter Parameter für mysql_query sein kann!
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

27-02-2011, 02:28
|
|
trainmen
Registrierter Benutzer
|
|
Registriert seit: Feb 2008
Beiträge: 49
|
|
Okay kein Wunder das es nicht klappt^^
Rückgabewerte:
Code:
Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.
Wie muss ich den das ganze ändern wenn ich auf 2 Datenbanken auf dem selben Server mich Verbinden will?
EDIT:
Wie kann ich also festlegen das er in dem ersten Query die Datenbank $db nehmen soll?
File connect.php:
PHP-Code:
<?php
////SQL Verbindungsaufbau////
//SQL Zugangsdaten
$user = "user";
$pass = "pass";
$ip_port = "127.0.0.1:3306";
$db = "dbone";
$db2 = "dbtwo";
//SQL Select Datenbank
$connect = mysql_connect($ip_port, $user, $pass) or die ("Verbindung konnte nicht aufgebaut werden: " .mysql_error());
mysql_select_db($db, $connect) or die ("Datenbank könnte nicht SELECT werden: " .mysql_error());
?>
File items_isset.php:
PHP-Code:
<?php
error_reporting (E_ALL);
include "include/connect.php";
//Items werden in Tabele sotiert
mysql_query ('ALTER TABLE ahbot_items order by entry');/*Wie sag ich hier das zu $db der befehl geschickt werden soll?*/
?>
Geändert von trainmen (27-02-2011 um 03:51 Uhr)
|

27-02-2011, 10:10
|
|
Quetschi
PHP Expert
|
|
Registriert seit: Dec 2004
Beiträge: 2.759
|
|
Schau mal was hier unter Rückgabewert steht:
PHP: mysql_connect - Manual
Und dann schau hier, was mysql_query als zweiten Parameter sehen will:
PHP: mysql_query - Manual
Klingelts?
__________________
Drelingdo
Krabonse
Simmannamando
|

27-02-2011, 14:19
|
|
trainmen
Registrierter Benutzer
|
|
Registriert seit: Feb 2008
Beiträge: 49
|
|
Ja soweit habe ich das jetzt, aber was mache ich wenn ich an $db2 auch ein Query senden will? Muss jedesmal ein mysql_select_db() ausführen wenn ich was an eine andere Datenbank senden will? Kann ich dem mysql_query() keine Datenbank zuweisen?
Aktuller PHP Code:
File connect.php:
PHP-Code:
////SQL Verbindungsaufbau//// //SQL Zugangsdaten $user = "user"; $pass = "pass"; $ip_port = "127.0.0.1:3306"; $db = "dbone"; $db2 = "dbtwo"; //SQL Select Datenbank $connect = mysql_connect($ip_port, $user, $pass) or die ("Verbindung konnte nicht aufgebaut werden: " .mysql_error());
File items_isset.php:
PHP-Code:
error_reporting (E_ALL); include "include/connect.php"; //Items werden in Tabele sotiert $query = mysql_query ('ALTER TABLE $db.ahbot_items order by entry', $connect) or die ("Beim query von einer Tabelle ist ein Probleme aufgetreten: " .mysql_error()); $query = mysql_query ('ALTER TABLE $db2.ahbot_items order by entry', $connect) or die ("Beim query von einer Tabelle ist ein Probleme aufgetreten: " .mysql_error());
EDIT: Ok habe es gelösst und zwar bin ich so vorgegangen "Datenbank.Tabelle" = "$db.ahbot_items". Habe es in meinem alten Text schon angepasst. Gibt es da aber nicht einen besseren Weg?
Geändert von trainmen (27-02-2011 um 15:49 Uhr)
|

27-02-2011, 17:21
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
Ich zitiere!
Zitat:
Zitat von Quetschi
|
|

27-02-2011, 17:26
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Nein, du sollst zwei mal mysql_connect aufrufen, bekommst entsprechend zwei Verbindungskennungen und kannst diese dann mit mysql_query benutzen, je nachdem auf welcher Verbindung du gerade arbeiten willst.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

27-02-2011, 18:13
|
|
Quetschi
PHP Expert
|
|
Registriert seit: Dec 2004
Beiträge: 2.759
|
|
Du sollst mysql_connect zweimal aufrufen und hast dann halt z.B. $connect1 und $connect2. Dann führst du jeweils mit $connect1 und $connect2 mysql_select_db durch und kannst dann mysql_query entweder $connect1 oder $connect2 übergeben.
Wenn du für beide Datenbanken denn gleichen Benutzer verwendest musst du noch den vierten Parameter von mysql_connect beachten!
__________________
Drelingdo
Krabonse
Simmannamando
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|