Dumme MySQL-Frage

CZCC

Mitglied
Hallo

Ne ganz dumme MySQL Frage.
PHP:
<?
include ("acp/lib/config.inc.php");

$ip = "127.0.0.1";
$num = "2231231121212";
$to = "To";
$text = "text";

$eintrag = "INSERT INTO sms (ip, unigidzahl, to, text) VALUES ('.$ip.', '.$num.', '.$to.', '.$text.')";
mysql_query($eintrag);
?>

Wo ist da der Fehler ich bekomme zwar ne Verbindung zur DB aber er schreibt nicht die Daten rein. Ist alles richtig geschrieben.
Thx im vorraus.

Gruß
CZCC
 
Versuhs mal so:
PHP:
<?
include ("acp/lib/config.inc.php");

$ip = "127.0.0.1";
$num = "2231231121212";
$to = "To";
$text = "text";

$eintrag = "INSERT INTO `sms` (`ip`, `unigidzahl`, `to`, `text`) VALUES ('".$ip."', '".$num."', '".$to."', '".$text."')";
mysql_query($eintrag);
?>
Übersichtlicher wäre es aber mit sprintf():
PHP:
 $eintrag = sprintf("INSERT INTO `sms` (`ip`, `unigidzahl`, `to`, `text`) VALUES ('%s', '%s', '%s', '%s'", $ip, $num, $to, $text);
 
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'to, text) VALUES ('127.0.0.1', '2231231121212', 'To', 'text')' at line 1

Meine Datenbank struktur sieht so aus

Code:
  `id` int(10) NOT NULL auto_increment,
  `ip` varchar(15) collate latin1_general_ci NOT NULL,
  `datum` date NOT NULL,
  `zeit` time NOT NULL,
  `unigidzahl` varchar(50) collate latin1_general_ci NOT NULL,
  `to` varchar(20) collate latin1_general_ci NOT NULL,
  `text` varchar(160) collate latin1_general_ci NOT NULL,
 
birnkammer jetzt funktioniert dein Code von oben aufeinmal ka warum aber Thx für die Hilfe zur späten stund
 
Datenbank-, Tabellen-, Index-, Spalten- und Alias-Namen sollten explizit als solche ausgezeichnet werden, damit mögliche Konflikte mit MySQL-Schlüsselwörtern vermieden werden. Daher mein Vorschlag:
PHP:
<?php

	include 'acp/lib/config.inc.php';

	$ip = '127.0.0.1';
	$num = 2231231121212;
	$to = 'To';
	$text = 'text';

	$query = '
		INSERT INTO
		        `sms`
		  SET
		        `ip`         = "'.mysql_real_escape_string($ip).'",
		        `unigidzahl` = "'.mysql_real_escape_string($num).'",
		        `to`         = "'.mysql_real_escape_string($to).'",
		        `text`       = "'.mysql_real_escape_string($text).'"
		';
	mysql_query($query);
 
?>
 
Ok danke kann mir jetzt vieleicht noch einer verraten wie ich das aktuelle Datum und die aktuelle zeit automatisch in die Datenbank bekomme bei mir kommt immer nu 0000-00-00 und bei zeit auch nur 00:00:00 ich möchte einfach das inner Datenbank 2006-04-19 bei Datum steht und bei Zeit 00:06:02
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück