Krijg sql query niet aan de praat

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Stefan

stefan

11/01/2010 10:37:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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.'&amp;action=sta&amp;frame=3&amp;direction=2&amp;head_direction=2&amp;gesture=sml&amp;size=s&amp;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
 
PHP hulp

PHP hulp

28/04/2024 19:45:08
 

11/01/2010 10:44:00
Quote Anchor link
Je mist foutafhandeling.
Verder moet je niet direct post waardes in een query stoppen. Gebruik mysql_real_escape_string.
 
Niels K

Niels K

11/01/2010 10:51:00
Quote Anchor link
Post van karl even uitgewerkt hieronder. Verder kan je beter je formulier afhandeling met POST doen. Ook kan je beter overstappen op Mysqli.

Meer weten over mysqli check deze tutorial even

http://www.phptuts.nl/view/26/

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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();
        
        }



?>
Gewijzigd op 01/01/1970 01:00:00 door Niels K
 
Stefan

stefan

11/01/2010 10:56:00
Quote Anchor link
Het werkt nu wel, bedankt ;)
En wanneer gaat het eruit? Dan kan ik daar rekening mee houden
 

11/01/2010 10:59:00
Quote Anchor link
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.
Gewijzigd op 01/01/1970 01:00:00 door
 
Niels K

Niels K

11/01/2010 11:03:00
Quote Anchor link
@karl,

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
 
Mr.Ark

Mr.Ark

11/01/2010 11:26:00
Quote Anchor link
Inderdaad Mysql, maar dat geldt lijkt me niet voor MySQLi ^^
 
Joren de Wit

Joren de Wit

11/01/2010 11:28:00
Quote Anchor link
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.
 
Niels K

Niels K

11/01/2010 11:46:00
Quote Anchor link
@blanche,

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?
 

11/01/2010 12:27:00
Quote Anchor link
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.
 
Joren de Wit

Joren de Wit

11/01/2010 12:29:00
Quote Anchor link
Nee, daar heb je helemaal gelijk in.
 

11/01/2010 12:33:00
Quote Anchor link
Dat is dus mijn punt.
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.
 
Joren de Wit

Joren de Wit

11/01/2010 12:38:00
Quote Anchor link
Maar dat neemt niet weg dat je beter voor pdo of mysqli kunt kiezen bij het maken van nieuwe scripts. Ten eerste voorkom je dat je in de toekomst deze scripts opnieuw moet scripten als mysql_* wel daadwerkelijk verdwijnt en daarnaast ontwikkel je dan met een functionaliteit die actief verder ontwikkeld wordt en niet een die enkel onderhouden wordt.

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).
 
Richard van Velzen

Richard van Velzen

11/01/2010 13:08:00
Quote Anchor link
mysql_* zal niet verdwijnen, dat is pure flauwekul. Dankzij de nieuwe library (mysqlnd) zal de support ook weer sterk verbeteren, indien je met mysqlnd compiled uiteraard.

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.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.