Suchen
Inside Forum
Nützliche Links




 
phpforum.de bei Facebook
 
phpforum.de bei Twitter
 

Zurück   PHP Forum: phpforum.de > Datenbanken > Datenbanken

Datenbanken Alles rund um MySQL, MariaDB, PostgreSQL o.ä. und die NoSQL-Datenbanken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 20.03.2017, 22:32
mydelphi mydelphi ist offline
Neuer Besucher
 
Registriert seit: 20.03.2017
Beiträge: 2
Ausrufezeichen Update Tabele

hallo
ich möchte nur feststellen, das die Update erfolgreich war
PHP Quellcode:
<?
include("config.php");

$id = $_GET['id'];
$name = $_GET['name'];

$old_name = mysql_query("SELECT $name FROM `users` WHERE `id` = '$id' ");
// jetzt update
mysql_query("UPDATE users SET name='$name' WHERE id='$id'");

// now we check the name egain
$new_name = mysql_query("SELECT $name FROM `users` WHERE `id` = '$id' ");


 
  if($new_name.equals($old_name) ){
   $chack["success"] = false;  
  }else{
   $chack["success"] = true;    
  }
   
   echo json_encode($chack);
   
    mysql_close($db);
?>


was ist falsh here
I get null !!!
Mit Zitat antworten
  #2  
Alt 20.03.2017, 23:05
Marc Ermshaus Marc Ermshaus ist offline
Forum-Mitarbeiter
 
Registriert seit: 06.09.2004
Beiträge: 5.373
Standard AW: Update Tabele

Code:
if($new_name.equals($old_name) ){


PHP ist nicht Java.

Der Code ist ansonsten aber auch noch recht fehlerhaft. Ist nicht böse gemeint, aber ich weiß kaum, wo man da beginnen sollte…

SELECT $name -- Du meinst vermutlich SELECT name.

mysql_query liefert nicht direkt den Wert, den du willst, sondern erst mal ein Result-Set, das mit mysql_fetch_*-Funktionen ausgewertet werden muss.

Warnung:
Standardantwort/FAQ:
Dein Code ist anfällig für SQL Injections. Benutzereingaben (z.B. aus einem Formular oder aus der URL), dürfen niemals ungefiltert in SQL-Strings eingebaut werden. Ein Angreifer wäre sonst in der Lage aktiven Code in Dein SQL einzuschleusen. SQL Injections gehören zu den gefährlichsten und weitverbreitesten Fehlern bei Webanwendugen. Dabei ist ihre Vermeidung recht einfach. PHP stellt für jede unterstützte Datenbank eine Funktion zum Entschärfen von Benutzereingaben zur Verfügung.

Für mysqli erledigt das mysqli_real_escape_string() bzw. für die veraltete mysql-Extension mysql_real_escape_string().

Außerdem bieten die beiden neueren Extensions PDO und mysqli die Möglichkeit, prepared Statements zu verwenden. In diesem Fall kümmern sich PHP und die Datenbank selbst um das Maskieren von gefährlichen Sonderzeichen.

In unserem Wiki gibt es einen Artikel zu SQL Injections mit einem konkreten Beispiel.


Warnung:
Standardantwort/FAQ:
Die mysql-Erweiterung von PHP ist noch oft im Internet zu sehen, jedoch wird in der offiziellen Dokumentation klar empfohlen, auf die Erweiterungen mysqli oder PDO umzusteigen. Die mysql_*-Funktionen sind veraltet und sollten nicht mehr benutzt werden.
  • Seit PHP 5.3 gehört die veraltete mysql-Erweiterung nicht mehr zur Standard-Installation.
  • Seit PHP 5.5 ist die mysql-Erweiterung offiziell als deprecated (= überholt) gekennzeichnet.
  • Seit PHP 7 ist die Erweiterung entfernt.

Der aktive Support für den 5er-Zweig von PHP endete am 19.01.2017 (Sicherheitssupport läuft noch bis Ende 2018). Von der Verwendung der alten mysql_*-Funktionen ist daher dringend abzuraten.


Tipp:
Standardantwort/FAQ:
Wer lernen will zu programmieren, sollte wissen was er tut. Alles Andere führt zu Unmengen an Frust. Jeder, der sich ernsthaft mit PHP auseinandersetzen möchte und hier eine Frage stellt, sollte zumindest Kenntnisse über die Grundlagen vorweisen können.

» Das PHP Handbuch - zu Fragen über Funktionen und deren Anwendung
alternativ die englische Variante mit den Beiträgen der Nutzer beachten
» Die PHP FAQ - wiederkehrende Fragen und Probleme zu den Grundlagen
» Ein Grundlagen Tutorial - für jeden der sich mit PHP beschäftigt ist dieses Wissen Voraussetzung
» Ein OOP Tutorial - ein Einblick in weiterführende Themen
» Das MySQL Handbuch - zu Fragen über Syntax, Funktionen und co:
» Ein MySQL Grundlagen Tutorial - zwingend notwendig für die Verwendung von Datenbanken

Weiterführende Informationen, Links, Quellen und themenübergreifende Tutorials (zb HTML/CSS etc) finden sich im entsprechenden wiki Artikel: Dokumentationen und Tutorials

Geändert von Marc Ermshaus (20.03.2017 um 23:33 Uhr)
Mit Zitat antworten
  #3  
Alt 20.03.2017, 23:18
Kasalop Kasalop ist offline
Forum-Mitarbeiter
 
Registriert seit: 29.12.2006
Ort: München
Beiträge: 5.607
Standard AW: Update Tabele

Ergänzung: Prüfen ob ein Update erfolgreich war nicht mit einem Extraquery, sondern per
DOKU-VORLESE-SERVICE(TM)
int mysql_affected_rows([resource link_identifier = NULL])
Get number of affected rows in previous MySQL operation
.

Lg Kasalop
__________________
Es gibt 10 Arten von Menschen auf der Welt. Die die die binäre Mathematik verstehen und die die sie nicht verstehen!

Zu welcher der Gruppen gehörst du?
Mit Zitat antworten
  #4  
Alt 21.03.2017, 13:22
mydelphi mydelphi ist offline
Neuer Besucher
 
Registriert seit: 20.03.2017
Beiträge: 2
Idee AW: Update Tabele

Mein Problem 1 ist diese Linie :
PHP Quellcode:
$test= mysql_query("SELECT name FROM users where id = 1");

Ich bekomme nichts obwohl der Feld nicht leer !!!
Mit Zitat antworten
  #5  
Alt 21.03.2017, 13:40
hellbringer hellbringer ist offline
Forum-Mitarbeiter
 
Registriert seit: 27.03.2008
Beiträge: 30.815
Standard AW: Update Tabele

Was heißt "nichts"? Drück dich bitte mit fachlichen Wörtern aus. Was enthält $test?

Und:

Standardantwort/FAQ:
Die mysql-Erweiterung von PHP ist noch oft im Internet zu sehen, jedoch wird in der offiziellen Dokumentation klar empfohlen, auf die Erweiterungen mysqli oder PDO umzusteigen. Die mysql_*-Funktionen sind veraltet und sollten nicht mehr benutzt werden.
  • Seit PHP 5.3 gehört die veraltete mysql-Erweiterung nicht mehr zur Standard-Installation.
  • Seit PHP 5.5 ist die mysql-Erweiterung offiziell als deprecated (= überholt) gekennzeichnet.
  • Seit PHP 7 ist die Erweiterung entfernt.

Der aktive Support für den 5er-Zweig von PHP endete am 19.01.2017 (Sicherheitssupport läuft noch bis Ende 2018). Von der Verwendung der alten mysql_*-Funktionen ist daher dringend abzuraten.
Mit Zitat antworten


Antwort

Lesezeichen

Themen-Optionen
Ansicht

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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu
Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Wie kann mit PHP ein PDF Tabele zu machen mitkos33 PHP 3 31.07.2010 09:32
link in gleicher tabele öffnen oh_no PHP 1 21.11.2006 17:51
Php in Mysql-tabele ausgeben lassen WasserDragoon PHP 7 13.03.2005 12:37
löschen einer Tabele Somba Datenbanken 0 01.01.1970 01:00
Die Erstellung einer dynamischen Tabele... Nobody PHP 0 01.01.1970 01:00


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:26 Uhr.


Powered by vBulletin® Version 3.8.8 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Powered by NuWiki v1.3 RC1 Copyright ©2006-2007, NuHit, LLC