SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 25.07.2008, 02:02:20
Benutzerbild von Socrates
Socrates Socrates ist offline
Member
 
Registriert seit: Jul 2006
Ort: Göttingen/Deutschland
Alter: 35
Beiträge: 586
Überprüfen ob Eintrag vorhanden

Hallo!
Ich möchte einen neuen Eintrag in eine Tabelle meiner Datenbank machen. Zuvor möchte ich allerdings noch überprüfen ob in einer bestimmten Spalte das gleiche Value, wie für den neuen Eintrag gesetzt ist. Muss ich dafür eine gesonderte Anfrage machen oder gibt es eine Möglichkeit dies in einem Aufwasch zu machen, ähnlich dem erstellen einer neuen Tabelle (IF NOT EXISTS)?
MfG, Andy
__________________
BSc. Applied Computer Science
http://www.bornageek.com
Mit Zitat antworten
  #2  
Alt 25.07.2008, 06:12:05
pekobe pekobe ist offline
Anfänger
 
Registriert seit: Apr 2006
Ort: Kolkwitz
Alter: 51
Beiträge: 94
AW: Überprüfen ob Eintrag vorhanden

Hallo,

ja das kannst Du in einem Schritt machen.
Ich mache es wie folgt:

PHP-Code:
$query="select Nickname FROM login where Nickname='".mysql_escape_string($Nickname)."'";
$result=mysql_query($query);
while (
$row mysql_fetch_object ($result))
{
  if(
$row)
  {
    die (
"<i>Der Nickname ist leider schon vergeben.</i>
    <p><a href=\"javascript:history.back()\">Zurück zur Eingabe</a>"
);
  }

$query="insert into login (id, Kennwort, Nickname)
values ('','"
.md5($Kennwort)."','".$Nickname."')";
$ok=mysql_query($query) or die(mysql_error()); 

Grüße von Sven
Mit Zitat antworten
  #3  
Alt 25.07.2008, 11:27:23
Benutzerbild von Socrates
Socrates Socrates ist offline
Member
 
Registriert seit: Jul 2006
Ort: Göttingen/Deutschland
Alter: 35
Beiträge: 586
AW: Überprüfen ob Eintrag vorhanden

Also doch zwei Queries. Und so würde ich es dann auch nicht machen. Die while-Schleife ist total unnütz.
PHP-Code:
   // check if user exists
   
$sql "SELECT name FROM user WHERE name = `mysql_escape_string($Nickname)`";

   
// send sql-query
   
$db->query($sql);
        
   
// check result
   
if($db->affected_rows <= 0)
   {
      throw new 
Exception("Cannot create protected section {$name}.");
   }

   else
   {
      
// create user
      
$sql "INSERT INTO `{$table}` SET (`id`, {$fields}) VALUES (``, {$values})";

      
// check result
      
if( $this->db->affected_rows <= )
      {
         throw new 
Exception("Cannot create user.");
      }
   } 
MfG, Andy

//EDIT: Dieser Ausschnitt kommt in einer Methode einer Klasse vor und arbeitet mit MySQLi.
__________________
BSc. Applied Computer Science
http://www.bornageek.com

Geändert von Socrates (25.07.2008 um 11:28:38 Uhr)
Mit Zitat antworten
  #4  
Alt 25.07.2008, 14:23:55
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
doppelter eintrag

würde es dir helfen, die tab.spalte auf unique zu setzen?

cx

aus dem MYSQL-handbuch:

Zitat:
1.9.6.1. PRIMARY KEY- und UNIQUE-Index-Constraints
Normalerweise tritt ein Fehler auf, wenn Sie versuchen, einen Datensatz mit INSERT bzw. UPDATE einzufügen oder zu aktualisieren, und dadurch eine Unvereinbarkeit bezüglich eines Primärschlüssels, eines eindeutigen Schlüssels oder eines Fremdschlüssels erfolgen würde. Verwenden Sie eine transaktionale Speicher-Engine wie InnoDB, dann macht MySQL die Anweisung automatisch rückgängig. Nutzen Sie hingegen eine nichttransaktionale Speicher-Engine, dann beendet MySQL die Verarbeitung der Anweisung bei dem Datensatz, an dem der Fehler aufgetreten ist, und lässt alle nachfolgenden Datensätze unverändert.

Für den Fall, dass Sie solche Unvereinbarkeiten ignorieren wollen, unterstützt MySQL das Schlüsselwort IGNORE für INSERT und UPDATE. In diesem Fall ignoriert MySQL sämtliche Schlüsselunvereinbarkeiten und fährt mit der Verarbeitung des nächsten Datensatzes fort. Siehe auch Abschnitt 13.2.4, „INSERT“, und Abschnitt 13.2.10, „UPDATE“.
cx

Geändert von cortex (25.07.2008 um 14:27:07 Uhr) Grund: quelle aus MYSQL-handbuch
Mit Zitat antworten
  #5  
Alt 26.07.2008, 15:23:42
Calvados Calvados ist offline
Anfänger
 
Registriert seit: Nov 2007
Beiträge: 27
AW: Überprüfen ob Eintrag vorhanden

Hallo,

wie wäre es damit?

PHP-Code:
$query"SELECT Nickname 
           FROM "
.$login.
          WHERE Nickname='"
.mysql_real_escape_string($Nickname)."'"
         
if(
mysql_num_rows(mysql_query($query)) >= 1// oder: ==1, >0,
{
  echo 
'<i>Der Nickname ist leider schon vergeben.</i>
        <p><a href="javascript:history.back()">Zur&uuml;ck zur Eingabe</a>'


else

   
$query="INSERT
             INTO "
.$login."
              SET
                 Kennwort = '"
.md5($Kennwort)."',
                 Nickname = '"
.md5($Nickname)."'"
                 
   
$ok=mysql_query($query) or die(mysql_error());

An 2 Querys kommst Du leider nicht vorbei...

Grüße
Calvados
Mit Zitat antworten
  #6  
Alt 26.07.2008, 15:51:56
Benutzerbild von Socrates
Socrates Socrates ist offline
Member
 
Registriert seit: Jul 2006
Ort: Göttingen/Deutschland
Alter: 35
Beiträge: 586
AW: Überprüfen ob Eintrag vorhanden

Danke aber das ist im Prinzip das was ich in meinem zweiten Beitrag auch geschrieben habe.
MfG, Andy
__________________
BSc. Applied Computer Science
http://www.bornageek.com
Mit Zitat antworten
  #7  
Alt 26.07.2008, 17:43:19
Benutzerbild von Socrates
Socrates Socrates ist offline
Member
 
Registriert seit: Jul 2006
Ort: Göttingen/Deutschland
Alter: 35
Beiträge: 586
AW: Überprüfen ob Eintrag vorhanden

Hallo!
Habe es jetzt mit dem Tipp von cortex versucht. Beim erstellen der Tabelle tritt allerdings ein Fehler auf. Kann UNSIGNED nur einmal vergeben werden? Ich erhalte nämlich für folgendes Query einen Fehler.
Code:
 CREATE TABLE `permissions` (
`id` TINYINT NOT NULL AUTO_INCREMENT ,
`name` VARCHAR( 30 ) UNSIGNED NOT NULL ,
`perm` TINYINT UNSIGNED NOT NULL ,
PRIMARY KEY ( `id` )
)
MfG, Andy
__________________
BSc. Applied Computer Science
http://www.bornageek.com
Mit Zitat antworten
  #8  
Alt 26.07.2008, 17:55:03
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 16
Beiträge: 2.269
AW: Überprüfen ob Eintrag vorhanden

Eine vorzeichenlose Zeichenkette?
Du verwechselst da was..
Ich kenn Vorzeichen nur bei Zahlen.

Geändert von DokuLeseHemmung (26.07.2008 um 17:55:50 Uhr)
Mit Zitat antworten
  #9  
Alt 26.07.2008, 18:10:52
Benutzerbild von Socrates
Socrates Socrates ist offline
Member
 
Registriert seit: Jul 2006
Ort: Göttingen/Deutschland
Alter: 35
Beiträge: 586
AW: Überprüfen ob Eintrag vorhanden

Ich bin so blöd. Ok danke.
__________________
BSc. Applied Computer Science
http://www.bornageek.com
Mit Zitat antworten
  #10  
Alt 26.07.2008, 18:22:16
Calvados Calvados ist offline
Anfänger
 
Registriert seit: Nov 2007
Beiträge: 27
AW: Überprüfen ob Eintrag vorhanden

Hallo,

wird das eine Art Mitgliederbereich?

Dann solltest du lieber INT statt TINYINT als ID verwenden.
Es sei denn, dir reichen 255 (unsigned) bzw. 127 Mitglieder.

Grüße
Calvados
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Überprüfen ob der Eintrag schon vorhanden ist vivanity MySQLi/PDO/(MySQL) 2 02.07.2006 17:21:06
Überprüfen ob Webseite vorhanden ChrisE PHP Grundlagen 1 26.06.2006 20:25:54
Überprüfen ob Kunde in der Datenbank vorhanden morphiaz PHP Grundlagen 8 25.04.2006 20:27:10
Überprüfen ob Daten schon in der Tabelle vorhanden? nivram MySQLi/PDO/(MySQL) 9 21.12.2003 21:13:26
datenbank anzeige "kein eintrag vorhanden.." Der Andy PHP für Fortgeschrittene und Experten 2 02.06.2003 12:48:28


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:12:27 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt