Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hi zusammen,

ich habe da ein kleines Problem unszwar bekomme ich immer diese Fehlermeldung.

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in P:\apachefriends\xampp\htdocs\Projekte\MyWeb\admin\basicfunktions.php on line 96
Could not successfully run query () from DB: [/PHP]

leider weis ich nicht was hier falsch ist

[PHP]
function generateinternmenu($user2){
/* Datenbankserver */
$db_server = "localhost";
/* Datenbankname */
$db_name = "Web";
/* Datenbankuser */
$db_user = "Web";
/* Datenbankpasswort */
$db_passwort = "Web";
/* Erstellt Connect zu Datenbank her */
$db_menu2 = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);
mysql_select_db("Web",$db_menu2);
--> $menu = mysql_query("select m.name from recht r, tuser u, menuintern m, user_menuintern_recht umr where umr.rechtid = r.rechtid and umr.userID = u.userID and umr.menuinternID = m.menuinternID and u.name = '%s' order by m.menuinternID",
mysql_real_escape_string($user2));
<--
if (!$menu) {
echo "Could not successfully run query ($sql) from DB: " . mysql_error();
exit;
}

if (mysql_num_rows($menu) == 0) {
echo "No rows found, nothing to print so am exiting";
exit;
}
$menu_count = mysql_num_rows($menu);
for($x=0;$x<7;$x++){
$menu_row=mysql_fetch_assoc($menu);
$menu_name=$menu_row[0];
$menu_link=$menu_row[1];
menulayout($menu_link,$menu_name);
}
};

Kann mir jemand helfen ?

/* Erstellt Connect zu Datenbank her */

$db_menu2 = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);

Kann mir jemand helfen ?

Warum unterdrückst du Fehlermeldungen mit dem @?

Warum unterdrückst du Fehlermeldungen mit dem @?

Naja das sollte man in som Fall nicht unterdrücken sondern abfangen mit nem die(mysql_error()) dann wärest vllt. schlauer, wieso das nicht geht-

oh ups wusste ich nicht das dadurch fehler unterdrückt werden hatte das aus nem beispiel.

aber ich hätte noch ne andere frage da ich einen internen bereich am basteln bin.

Wie kann ich die Werte aus dem Login FOrmular weiter geben?

Post und get ist soweit klar nur habe ich das Problem das ich die Werte nur an die 1. seite bekomme. wenn ich von dort aus einen anderen link aufrufe bekomme ich die daten nicht mehr. Was kkann ich da machen?

oh ups wusste ich nicht das dadurch fehler unterdrückt werden hatte das aus nem beispiel.

aber ich hätte noch ne andere frage da ich einen internen bereich am basteln bin.

Wie kann ich die Werte aus dem Login FOrmular weiter geben?

Post und get ist soweit klar nur habe ich das Problem das ich die Werte nur an die 1. seite bekomme. wenn ich von dort aus einen anderen link aufrufe bekomme ich die daten nicht mehr. Was kkann ich da machen?

Du solltes PHP Funtkionen auch nicht unbedingt in Grossbuchstaben schreiben. Konstanten werden eigentlich gross geschrieben.

Du könntest die Daten in eine Session packen.

http://de2.php.net/session

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in P:\apachefriends\xampp\htdocs\Projekte\MyWeb\admin\basicfunktions.php on line 96
Could not successfully run query () from DB: [/PHP]

Wenn dein mysql_connect() keine Fehlermeldung bringt, liegt das Problem wahrscheinlich beim DB-Server. Es kann sein, dass zu viele Verbindungen offen sind, damit kann keine neue geöffnet werden und es kommt zu dem oben stehenden Fehler.

Eine Möglichkeit könnte das zwischenzeitliche Schliessen der Verbindung, das Verwenden einer DB-Wrapper-Klasse, oder im schlimmsten Fall eine globale Verbindung sein.

Post und get ist soweit klar nur habe ich das Problem das ich die Werte nur an die 1. seite bekomme. wenn ich von dort aus einen anderen link aufrufe bekomme ich die daten nicht mehr. Was kkann ich da machen?

Du hängst entsprechende Werte an den Link oder nimmst eben die Session.

Cool danke das erste problem hat sich erledigt irgend wie hate der den String Falsch eingefügt. Wegen dem 2. Prob hab ich hier ne geniale anleitung gesehen.

Allerdings frage ich mich ob diese methode sicher ist?

Was könnt ihr mir dazu sagen da ja immer nur abgefragt wird ob die id gesetzt ist oder nicht?

Da die Session auf dem Server gespeichert ist, kann man den Inhalt der Sessions nicht so einfach verändern. Also ist es relativ sicher. Man sollte zusätzlich noch die IP Adresse mit einbauen. Und prüfen ob die Client IP Adresse noch zu der IP Adrsse past mit der die Session angelegt wurde.

Frank

coole idee thx werd ich versuchen

Nachteil ist jedoch auch, dass man Sessions weitergeben kann. Wobei es dann durch die IP, wie es pal vorgeschagen hat schwieriger wird :)

Hi ich bins nochmal hab soweit alles hinbekommen.

Allerdings hab ich jetzt ein problem bei der Rechte abfrage.

das bekomme ich ausgegteben.

 
Admin
HOME
root
SELECT * from recht r, tuser u, menuintern m, user_menuintern_recht umr where umr.rechtid = r.rechtid and umr.userID = u.userID and umr.menuinternID = m.menuinternID and u.name = 'root' and m.name = 'HOME' and r.name ='Admin'
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in P:\apachefriends\xampp\htdocs\Projekte\MyWeb\test\test.php on line 38[/PHP]

das ist der Source

[PHP]<?php
session_start ();
include ("../admin/funktionen/chekuser.php");
include ("../admin/funktionen/basicfunktions.php");
/* Datenbankserver */
$db_server = "localhost";
/* Datenbankname */
$db_name = "Web";
/* Datenbankuser */
$db_user = "Web";
/* Datenbankpasswort */
$db_passwort = "Web";
/* Erstellt Connect zu Datenbank her */
$db = mysql_connect($db_server,$db_user,$db_passwort);
mysql_select_db("Web",$db);
echo $rechtname='Admin';
echo'<br>';
echo $seite='HOME';
echo'<br>';
echo $_SESSION["user_nickname"];
echo'<br>';
$sql="SELECT *
from recht r, tuser u, menuintern m, user_menuintern_recht umr
where umr.rechtid = r.rechtid
and umr.userID = u.userID
and umr.menuinternID = m.menuinternID
and u.name = '".$_SESSION["user_nickname"]."'
and m.name = '".$seite."'
and r.name ='".$rechtname."'";
echo $sql;
$recht = mysql_query($sql);
if($row=mysql_fetch_array($menu))
{
echo 'geht' ;
}
echo mysql_error();
?>

wobei ich anstelle von mysql_fetch_array schon mysql_fetch_row getestete hab und bei beidem kommt die selbe fehlermeldung.

Den select kann ich auf der DB ausführen und bekomme genau eine zeile zurück.

was mache ich falsch

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.