Krijg sql query niet aan de praat
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
$host = "localhost";
$gebruikersnaam = "deb***_root";
$wachtwoord = "***";
$databasenaam = "deb***_cms";
mysql_connect($host,$gebruikersnaam,$wachtwoord);
mysql_select_db($databasenaam);
$habbo=$_GET['habbonaam'];
$username=$_GET['username'];
$text=$_GET['text'];
if(empty($text)) {
echo ubb('[fullalert]Je moet wel een tekst invoeren voordat je een bericht in het gastenboek kunt zetten!<br>
<input type="button" value="Sluiten" onclick="javascript:melding_close();" />[/fullalert]');
}else{
mysql_query('INSERT INTO guestbook (to_user,from_user,tekst,date,ip) VALUES ("'.$habbo.'","'.$username.'","'.$text.'",NOW(),"'.$_SERVER['REMOTE_ADDR'].'")"');
echo'<table width="100%">
<tr><td width="100%"><table width="100%" style="border: dashed 1px; border-color: #EFEFEF;" cellspacing="0" cellpadding="0">
<tr>
<td style="background: #EFEFEF;"><div style="float: left; margin-top: 5px;"><img src="http://www.habbo.nl/habbo-imaging/avatarimage?user='.$username.'&action=sta&frame=3&direction=2&head_direction=2&gesture=sml&size=s&img_format=png" border="0" onerror="this.src=(\'http://www.habbowereld.nl/assets/img/site/error_habboSmall.png\')" /></div>
<div style="float: left; margin-left: -25px;"><strong><a href="http://www.habbowereld.nl/leden/profiel/'.$username.'">'.$username.'</a></strong></div><br>'.$text.'
<div align="right" style="margin-bottom: 5px; margin-right: 5px;"><font style="color: gray; font-size: 10px;">'.date("d-m-Y").'</font></div>
</td>
</tr>
</table>
</td></tr></table>';
}
?>
$host = "localhost";
$gebruikersnaam = "deb***_root";
$wachtwoord = "***";
$databasenaam = "deb***_cms";
mysql_connect($host,$gebruikersnaam,$wachtwoord);
mysql_select_db($databasenaam);
$habbo=$_GET['habbonaam'];
$username=$_GET['username'];
$text=$_GET['text'];
if(empty($text)) {
echo ubb('[fullalert]Je moet wel een tekst invoeren voordat je een bericht in het gastenboek kunt zetten!<br>
<input type="button" value="Sluiten" onclick="javascript:melding_close();" />[/fullalert]');
}else{
mysql_query('INSERT INTO guestbook (to_user,from_user,tekst,date,ip) VALUES ("'.$habbo.'","'.$username.'","'.$text.'",NOW(),"'.$_SERVER['REMOTE_ADDR'].'")"');
echo'<table width="100%">
<tr><td width="100%"><table width="100%" style="border: dashed 1px; border-color: #EFEFEF;" cellspacing="0" cellpadding="0">
<tr>
<td style="background: #EFEFEF;"><div style="float: left; margin-top: 5px;"><img src="http://www.habbo.nl/habbo-imaging/avatarimage?user='.$username.'&action=sta&frame=3&direction=2&head_direction=2&gesture=sml&size=s&img_format=png" border="0" onerror="this.src=(\'http://www.habbowereld.nl/assets/img/site/error_habboSmall.png\')" /></div>
<div style="float: left; margin-left: -25px;"><strong><a href="http://www.habbowereld.nl/leden/profiel/'.$username.'">'.$username.'</a></strong></div><br>'.$text.'
<div align="right" style="margin-bottom: 5px; margin-right: 5px;"><font style="color: gray; font-size: 10px;">'.date("d-m-Y").'</font></div>
</td>
</tr>
</table>
</td></tr></table>';
}
?>
wat is er verkeerd?
Gewijzigd op 01/01/1970 01:00:00 door Stefan
Verder moet je niet direct post waardes in een query stoppen. Gebruik mysql_real_escape_string.
Meer weten over mysqli check deze tutorial even
http://www.phptuts.nl/view/26/
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
$Query = "INSERT INTO guestbook
(
to_user,
from_user,
tekst,
date,
ip
)
VALUES
(
'".mysql_real_escape_string ($_GET['habbonaam'])."',
'".mysql_real_escape_string ($_GET['username'])."',
'".mysql_real_escape_string ($_GET['text'])."',
NOW (),
'".mysql_real_escape_string ($_SERVER['REMOTE_ADDR')."'
)
";
# controleren of query is gelukt
if($result = mysql_query ($Query))
{
}
else
{
# niet gelukt, melding geven
echo 'Fout in Query '.mysql_error();
}
?>
$Query = "INSERT INTO guestbook
(
to_user,
from_user,
tekst,
date,
ip
)
VALUES
(
'".mysql_real_escape_string ($_GET['habbonaam'])."',
'".mysql_real_escape_string ($_GET['username'])."',
'".mysql_real_escape_string ($_GET['text'])."',
NOW (),
'".mysql_real_escape_string ($_SERVER['REMOTE_ADDR')."'
)
";
# controleren of query is gelukt
if($result = mysql_query ($Query))
{
}
else
{
# niet gelukt, melding geven
echo 'Fout in Query '.mysql_error();
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Niels K
En wanneer gaat het eruit? Dan kan ik daar rekening mee houden
Niels schreef op 11.01.2010 10:51:
Post van karl even uitgewerkt hieronder. Verder kan je beter je formulier afhandeling met POST doen. Ook kan je beter overstappen op Mysqli. Dit omdat in PHP 6 mysql_* eruit gaat.
Hij kan dat zelf ook wel.
Daar leert hij van.
En waar heb je die onzin weg dat mysql weggaat. Dat is dus niet het geval.
Zie dit artikel op ibm.com. En ook wat David Walsh te zeggen heeft.
Oke, Dat was mij verteld. Ik zal het weghalen.. Maar toch is mysqli wel beter als mysql
EDIT
Op die link van PHPtuts staat dit
Quote:
de mysql extensie zit in de laatste jaren van zijn bestaan. Dit betekent dat vanaf PHP 6 de mysql_* functies niet meer ondersteund zullen worden.
Gewijzigd op 01/01/1970 01:00:00 door Niels K
Inderdaad Mysql, maar dat geldt lijkt me niet voor MySQLi ^^
Het is wel degelijk zo dat de mysql_* functies gaan verdwijnen. In tegenstelling tot eerdere berichten van een jaar geleden, zullen de functie nog wel in PHP6 aanwezig zijn. Ze zullen echter niet meer actief ontwikkeld worden en alleen het nodige onderhoud zal eraan plaats vinden. Op den duur zullen de functies wel verdwijnen.
Ja dat dacht ik dus ook..
@Karl
Die links zijn ook wat ouder he.. Maar goed, Mysql is ook langzamer dan mysqli he,
@TS
Als je die tut vna Blanche even doorlees op phptuts zie je dat bepaalde dingen soms 40 x sneller word uitgevoerd. Mooi meegenomen toch?
Blanche schreef op 11.01.2010 11:28:
Het is wel degelijk zo dat de mysql_* functies gaan verdwijnen. In tegenstelling tot eerdere berichten van een jaar geleden, zullen de functie nog wel in PHP6 aanwezig zijn. Ze zullen echter niet meer actief ontwikkeld worden en alleen het nodige onderhoud zal eraan plaats vinden. Op den duur zullen de functies wel verdwijnen.
Ja, maar dus niet uit php 6. Daar zitten ze dus gewoon nog in.
Wanneer dat wel is, is dus blijkbaar niet duidelijk.
Je kunt dus niet stellen dat die functies uit php 6 gaan want daar zitten ze nog gewoon in.
Nee, daar heb je helemaal gelijk in.
Of mysqli of pdo of weetikveelwat nou beter is dat boeit me niet.
Als ze verdwijnen, dan denk ik dat je dat op zo'n manier als eregi kunt vinden.
Verder verwacht ik ook wel dat als je host update naar een nieuwe php versie (wat goed is, want sommige zitten nog met php 4 en andere nog met de versie voor php 5.3) dat ze dat melden en ook melden wat wellicht de gevolgen kunnen zijn.
Bovendien is de mysqli extensie er juist voor gemaakt om met MySQL versies > 4.1.3 te werken. Aangezien de meeste host nu toch wel op MySQL 5 draaien zou dat een logische keuze zijn (of uiteraard de keuze voor het OO PDO).
Het grootste minpunt aan mysql_* is dat het geen support voor nieuwere features (denk aan prepared statements) biedt. Maar dat is vaak ook helemaal niet nodig, dat kun je prima zelf via queries doen, zoals het hoort.