|
Posted by Chris Hope on 07/08/05 12:34
roN @ work wrote:
> Hi,
> I got following Code and get Below Error, why? :(
> [Code]
> function reportSpam($email_address_and_relay)
> {
> $connection=mysql_connect(db_server,db_user,db_passwort);
> mysql_select_db(db_name);
>
> $date = date("y-m-d");
> $tmp=explode("*",$email_address_and_relay);
> $address = $tmp[0];
> $relay = $tmp[1];
> $query = "insert into blacklist (`Date`,`Address`, `Relay`) values
> ('$date','$address', $relay)";
>
> mysql_query($query) or die(mysql_error());
> mysql_close($connection);
> echo "reported ".$email_address."<br>\n";
> }
> [/Code]
> [Error]
> 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 '.160.97)' at line 2
> [/Error]
> In Variable $email_address_and_relay there is something like
> test@example.com*255.127.53.49 I'd like to explode that and save the
> e-mail address and the relay IP in diffrent cols in the same row.
> shouldn't it work? :(
> table blacklist looks like this:
> Date - date
> Address - varchar(100)
> Relay - varchar(50)
> do I have to convert $relay to an integer before I'm gonna save it to
> the DB? Yes? How?
"Relay" in your example is a varchar(50) and yet in your sql query you
do not surround the value with quotes.
Either save it as a varchar/char field type with quotes around the
value, or make the field type numeric and use the ip2long() function to
convert it to a numeric type (and then long2ip() to convert it back
again when you need to use it).
http://www.php.net/ip2long
http://www.php.net/long2ip
--
Chris Hope | www.electrictoolbox.com | www.linuxcdmall.com
Navigation:
[Reply to this message]
|