Php mysql update

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Marco  -

marco -

04/02/2017 18:38:22
Quote Anchor link
Hallo,
Ik ben sinds kort weer een beetje begonnen met php en ik loopt een beetje vast bij het update van tekst naar de database.

Dit is het script:
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
<?php

    error_reporting(0);
    include('config/database.php');
    $id = $_GET['id'];
    $task = $_POST['task'];
    
    mysql_select_db("todo",$conn);
    if(isset($_POST['edit'])){
        $edit = "UPDATE todo SET task='$task' WHERE id='$id'";
        mysql_query($edit, $conn);
    };

        
    $sql = "SELECT * FROM todo WHERE id='$id'";
    $result = $conn->query($sql);
    
if ($result->num_rows > 0) {
     while($row = $result->fetch_assoc()) {
        echo "<b>ID:</b> ".$row['id']."<br /> <b>Taak:</b><br />
            <form method=post>
            <textarea name=task cols=73 rows=9>"
.$row[task]."</textarea><br />
            <input type=submit name=edit value=edit style=float: left>
            </form>
            </p>"
;
    }
    }
else {
     echo "Verkeerde ID";
    }



$conn->close();
 
?>

(het is misschien een beetje rommelig maar dat komt wel als ik wat meer van php ken)
En als ik dan tekst verander en op submit button klik gebeurt er niks. Wat doe ik fout? Ik heb al meerdere tutorials gevold maar het wilt niet lukken.

Alvast bedankt.
 
PHP hulp

PHP hulp

29/04/2024 11:08:01
 
- Rob -

- Rob -

04/02/2017 20:09:13
Quote Anchor link
Als je even error_reporting() even zet op error_reporting(1) zie je een error, zet die error hier in een reactie en dan kunnen we kijken wat er fout is ;-)

Toevoeging op 04/02/2017 20:09:46:

En waarom de mysql functies en niet die van mysqli?
 
Marco  -

marco -

04/02/2017 20:30:53
Quote Anchor link
- Rob - op 04/02/2017 20:09:13:
Als je even error_reporting() even zet op error_reporting(1) zie je een error, zet die error hier in een reactie en dan kunnen we kijken wat er fout is ;-)

Toevoeging op 04/02/2017 20:09:46:

En waarom de mysql functies en niet die van mysqli?


Ik heb al van een vriend begrepen dat mysqli (wat jij zegt) beter is. Maar ik moet het op een host doen wat op xampp bugt alles
 
- Ariën  -
Beheerder

- Ariën -

04/02/2017 20:40:42
Quote Anchor link
Ondersteunt je host dat dan niet??
 
Adoptive Solution

Adoptive Solution

04/02/2017 21:02:03
Quote Anchor link
Bij de UPDATE gebruik je dit :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
mysql_query($edit, $conn);


En bij de SELECT dit :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$result = $conn->query($sql);


Ook dnk ik dat bij die UPDATE een $result van de query ontbreekt.

Vervolgens gebruik je '' :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$row['id']


en dan weer zonder '' :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$row[task]


Het zal wel werken (of niet), maar probeer het eens consequent te doen.
Gewijzigd op 04/02/2017 21:04:19 door Adoptive Solution
 
Marco  -

marco -

04/02/2017 21:15:17
Quote Anchor link
- Ariën - op 04/02/2017 20:40:42:
Ondersteunt je host dat dan niet??

Xampp niet, die doet de laatste tijd al raar, dan maar even kijken voor een goedkope host.
Adoptive Solution op 04/02/2017 21:02:03:
Bij de UPDATE gebruik je dit :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
mysql_query($edit, $conn);


En bij de SELECT dit :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$result = $conn->query($sql);


Ook dnk ik dat bij die UPDATE een $result van de query ontbreekt.

Vervolgens gebruik je '' :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$row['id']


en dan weer zonder '' :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$row[task]


Het zal wel werken (of niet), maar probeer het eens consequent te doen.


Ik zal dit zeker gaan proberen
 
- Rob -

- Rob -

05/02/2017 16:05:22
Quote Anchor link
Heb je wel de laatste versie van XAMPP? Als je deze niet hebt zit PHP 5 er hoogst waarschijnlijk niet op en ondersteunt jouw host het dus niet.
 
- Ariën  -
Beheerder

- Ariën -

05/02/2017 16:08:18
Quote Anchor link
Als je een XAMPP hebt zonder PHP 5, dan loop je zeker wel 13 jaar achter :P
We zitten al bij versie 7 (waarvan 6 is overgeslagen door de ontwikkelaars).

Trowens, als XAMPP raar doet, is het niet zinvoller om dat eens uit te zoeken?
Gewijzigd op 05/02/2017 16:10:13 door - Ariën -
 
- Rob -

- Rob -

05/02/2017 16:08:39
Quote Anchor link
Ik weet alleen niet of je alle databases kan behouden als je XAMPP update maar je kan wel alle bestanden en databases een backup van maken en die dan weer erin zetten.

Toevoeging op 05/02/2017 16:09:43:

- Ariën - op 05/02/2017 16:08:18:
Als je een XAMPP hebt zonder PHP 5, dan loop je zeker wel 13 jaar achter :P
We zitten al bij versie 7 (waarvan 6 is overgeslagen door de ontwikkelaars).

;P ja, maar je kan oudere PHP versies erop zetten en wie weet heeft hij dit wel gedaan. Of hij kan een te oude xampp hebben gedownload..
 
- Ariën  -
Beheerder

- Ariën -

05/02/2017 16:15:39
Quote Anchor link
Een database is niet zomaar één op één overzetbaar.

Daarom loont het altijd om dit te dumpen naar een text-file (*.sql) en deze weer in te laden. Het makkelijkste is om dit via de command-line te doen met de mysql en mysqldump executables. Via phpMyAdmin kan ook, maar grote databases kunnen voor een time-out zorgen omdat de max-upload-size en/of max-execution-time wordt overschreden. Ikzelf kan ook de HeidiSQL client aanraden.

Ik verwacht overigens niet dat iemand nu nog een decennia oude versie zal hebben geinstalleerd.
En anders hoor ik graag wat
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php phpinfo(); ?>
voor uitkomst biedt, kijkend naar de versie van PHP in de titel.
 
- Rob -

- Rob -

05/02/2017 16:19:01
Quote Anchor link
time-out tijd kan je gemakkelijk veranderen naar hoelang jij wilt bijvoorbeeld: 2 uur ofziets (Misschien is dit te lang heb het zelf veranderd naar 10 minuten)
 
- Ariën  -
Beheerder

- Ariën -

05/02/2017 16:24:17
Quote Anchor link
Dat zou je kunnen doen, maar het kan niet altijd. Die begrenzing zit er niet voor niks in, om performanceproblemen bij bijv. oneindige loops te voorkomen.

Volgens mij als phpmyadmin buiten jouw webroot wordt gedraaid, dan kan je hier geen invloed op uitoefenen. Ook heb ik vaak problemen gehad m.b.t. encoding-setting in phpMyAdmin die niet lekker herkend werden.

HeidiSQL als client (een programma) werkt direct met MySQL zonder dit via PHP te doen. Als je dit bij je hosting wilt gebruiken moet je wel poort 3306 op zetten in de firewall, en jouw IP in de access-list plaatsen.
Gewijzigd op 05/02/2017 16:25:11 door - Ariën -
 
Ozzie PHP

Ozzie PHP

05/02/2017 16:24:55
Quote Anchor link
@Rob

Ja ... natuurlijk is 2 uur veel te lang! Ook 10 minuten lijkt me te lang. Je wil je server toch niet 10 minuten laten pruttelen op een of ander brak script? Daardoor kan je server compleet onbereikbaar worden.
 
- Ariën  -
Beheerder

- Ariën -

05/02/2017 16:26:32
Quote Anchor link
De server kan dan zelfs onderuit gaan. Dus een timeout van 1 minuut is prima zat.
De upload mag je zelf bepalen, maar maak het niet al te hoog, deze acties kosten ook weer geheugen. Ikzelf heb deze op 128MB staan.
Gewijzigd op 05/02/2017 16:26:51 door - Ariën -
 
- Rob -

- Rob -

05/02/2017 16:33:05
Quote Anchor link
O bedankt, even snel aanpassen om problemen te voorkomen. Bedankt!
 
Ozzie PHP

Ozzie PHP

05/02/2017 17:21:53
Quote Anchor link
Ook met je upload moet je heel erg uitkijken.

Heb je echt 128MB nodig? Gaat in de praktijk iemand een bestand van 128MB naar jouw website uploaden?

Is het antwoord 'nee eigenlijk niet' dan zou ik dit getal aanzienlijk verlagen.

Waarom?

Omdat het nu mogelijk is voor kwaadwillenden om via een formulier bestanden van 128 MB te uploaden. Als dat geautomatiseerd gebeurt via een bot, ligt binnen no time je server urenlang plat omdat die al die zware bestanden niet kan verwerken.
 
- Ariën  -
Beheerder

- Ariën -

05/02/2017 17:50:59
Quote Anchor link
Dat klinkt meer als een speciaal gerichte aanval dan iets wat standaard botjes doen. Bij nadere controle bleek het zelfs 64MB te zijn.
 
Marco  -

marco -

05/02/2017 18:06:32
Quote Anchor link
Dit stukje is nu opgelost mede door de tips van de mensen hier, dus bedankt daar voor! Als iemand hier een slotje op zou kunnen? Of doen jullie dat niet hier?

Toevoeging op 05/02/2017 18:25:31:

Btw had nog php 5 op xampp lol ;x
 
- Ariën  -
Beheerder

- Ariën -

05/02/2017 18:30:41
Quote Anchor link
Niks mis met PHP 5, maar het ligt wel aan welke sub-versie je hebt.

Verder sluiten we alleen maar topics als het nodig is.
 
Marco  -

marco -

05/02/2017 18:35:31
Quote Anchor link
5.6.24

Ik ben nu bezig met DELETE maar dat wilt ook niet echt werken..
De php code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
If(isset($_POST["delete"])){
    $sql_delete = "DELETE * FROM todo WHERE id='$id'";
    
if ($conn->query($sql_delete) === TRUE) {
    echo "<script type= 'text/javascript'>alert('Verwijderd!');</script><a onclick=window.open('index.php','name','width=600,height=400') class=edit >Ga terug!</a>";
}
else {
    echo "<script type= 'text/javascript'>alert('Error: " . $sql . "<br>" . $conn->error."');</script>";
}
}

?>

Dit is de button:
<form method=post><input type=submit name=delete id=delete value=Delete!></form>
Is toch niks mis mee?
Als ik op delete klik krijg ik niks te zien en hij delete niet.
Gewijzigd op 05/02/2017 18:38:38 door marco -
 
- SanThe -

- SanThe -

05/02/2017 18:43:53
Quote Anchor link
Marco - op 05/02/2017 18:35:31:
<form method=post><input type=submit name=delete id=delete value=Delete!></form>
Is toch niks mis mee?


Er is niks goed aan.
Je mist alle dubbele html quotes.
En eventueel ook de action mist.

Verder probeer je de value op "Delete!" te zetten.
Ik neem niet aan dat jij in de database een id hebt met die waarde.
Dus er wordt niks verwijderd.
 

Pagina: 1 2 volgende »



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.