<?php
mysql_query("INSERT INTO sms (date,time,number,text) VALUES('$date','$time','$_GET[sender]','$txtmessage')");
?>
Maar doe het nou eens zoals het hoort:
<?php
$sql = "
INSERT INTO sms
(
date,
time,
number,
text
)
VALUES
(
'".$date."',
'".$time."',
'".$_GET['sender']."',
'".$txtmessage."'
);
";
mysql_query($sql);
?>
Dus:
variabelen buiten de quotes
$_GET['iets'] met enkele haakjes (!), wat waarschijnlijk jouw fout was.
Liefst een query in een string zetten, dat is makkelijker debuggen (je kan je sql namelijk echo-en).
En normaal inspringen.
Inmiddels weer even tijd gehad om weer wat uitbreidingen te doen, de eerdere problemen zijn verholpen, bedankt voor alle hulp. Wat ik nu dus wil, is dat elke PM die verstuurd wordt door dit systeem geteld wordt. Ik heb op het moment dit staan:
$resultmsg = mysql_query("SELECT * FROM status
WHERE number='".$sender."'") or die(mysql_error());
$row2 = mysql_fetch_array( $resultmsg );
if (mysql_num_rows($row2['number']) == 1) {
if ($getmsg = mysql_num_rows($row1['messages']) == 1) {
mysql_query("UPDATE status SET messages=messages+1 WHERE number='".$sender."'") or die(mysql_error());
}
else {
mysql_query("UPDATE status SET messages=1 WHERE number='".$sender."'") or die(mysql_error());
}
}
else {
mysql_query("INSERT INTO status (number, messages) VALUES('".$sender."', '1' ) ") or die(mysql_error());
}
Deze code werkt wel, maar maakt een dubbele entry aan, dus ik heb niet netjes een rij met de gegevens staan, maar twee. Zo dus:
number | messages
tester 1
tester 1
Terwijl ik het dus zo wil hebben:
number | messages
tester 2
Heeft iemand een idee hoe ik dit voor elkaar kan krijgen? De eerste keer tellen gaat goed (als number en messages dus nog geen entry voor tester hebben), maar de tweede keer maakt hij dus gewoon een extra entry aan in de db, wat dus niet de bedoeling is. Alvast bedankt!