Avatar billede Morten Professor
22. november 2015 - 13:28 Der er 11 kommentarer og
1 løsning

mysqli select

Hej Eksperter

Har lige et problem med at få noget frem.
Jeg henviser fra min ip i browseren. For at få fat i databasen.
Men der kommer ikke noget.

Min kode:


/* Select et prepared statement */
if ($stmt = $hellestrik->prepare('SELECT `brugerid`, `mainid`, `privat`, `prisid`, `billede`, `vare`, `pris`, `fastpris`, `antal`, `navn`, `efternavn`, `adresse`, `postnr`, `bynavn`, `kontaktnr`, `email`, `fragt`, `flerevare`, `betalt`, `vareid`, `allevare`, `dato`, `tid`, `datetime`, `varenr` FROM `brugervareoversigt` WHERE prisid = '. $_GET['prisid'])) {

    /* Bind parametre */
    $stmt->bind_param('iissssssisssissssssissssi', $id);

    /* Sæt værdier på parametrene */
    $id = $_POST['prisid'];

    /* Eksekver forespørgslen */
    $stmt->execute();

    /* Bind resultatet */
    $stmt->bind_result($brugerid, $mainid, $privat, $prisid, $billede, $vare, $pris, $fastpris, $antal, $navn, $efternavn, $adresse, $postnr, $bynavn, $kontaktnr, $email, $fragt, $flerevare, $betalt, $vareid, $allevare, $dato, $tid, $datetime, $varenr);

    /* Hent rækker og udskriv data */
    while ($stmt->fetch()) {
          echo '<form action="vare_bestilling_sender.php?prisid=' . $_GET['prisid'] . '" method="POST" enctype="multipart/form-data" name="form">
        <div id="v_opstilling" style="width:600px; background-image:url(../design/media/baggrund.png);">
<table width="600" border="0" cellpadding="0" cellspacing="0" id="vs_opstilling">
  <tr>
    <td colspan="3" valign="top" class="sv_overskrift">Forsendelses oplysninger</td>
    </tr>
  <tr>
    <td width="107" valign="top" class="mailform_tekst"><label for="navn">Navn:</label></td>
    <td width="298"><input name="navn" type="text" style="background-color:transparent; border:transparent;" required id="navn" value="' . $navn . '" size="40" /></td>
  </tr>
  <tr>
    <td width="107" valign="top" class="mailform_tekst">Efternavn:</td>
    <td><label for="efternavn"></label>
      <input name="efternavn" type="text" style="background-color:transparent; border:transparent;" required id="efternavn" value="' . $efternavn . '" size="40" /></td>
    </tr>
  <tr>
    <td width="107" valign="top" class="mailform_tekst"><label for="adresse">Adresse:</label></td>
    <td><input name="adresse" type="text" style="background-color:transparent; border:transparent;" required class="textfield" id="adresse" value="' . $adresse . '" size="40" /></td>
    </tr>
  <tr>
    <td width="107" valign="top" class="mailform_tekst"><label for="postnr">Post nr.:</label></td>
    <td><input name="postnr" type="number" style="background-color:transparent; border:transparent;" required id="postnr" value="' . $postnr . '" size="40" /></td>
    </tr>
  <tr>
    <td width="107" valign="top" class="mailform_tekst">By:</td>
    <td><label for="by"></label>
      <input name="by" type="text" style="background-color:transparent; border:transparent;" required id="by" value="' . $bynavn . '" size="40" /></td>
    </tr>
  <tr>
    <td width="107" valign="top" class="mailform_tekst">Kontakt nr.:</td>
    <td><label for="kontaktnr"></label>
      <input name="kontaktnr" type="number" style="background-color:transparent; border:transparent;" required id="kontaktnr" value="' . $kontaktnr . '" size="40" /></td>
    </tr>
  <tr>
    <td width="107" valign="top" class="mailform_tekst">E-mail:</td>
    <td><label for="email"></label>
      <input name="email" type="mail" style="background-color:transparent; border:transparent;" required id="email" value="' . $email . '" size="40" /></td>
    </tr>
  <tr>
    <td width="107" valign="top" class="mailform_tekst">Vare:</td>
    <td class="mailform_tekst"><label for="varenr"></label>
      <textarea name="varenr" cols="40" rows="16" readonly="readonly" style="background-color:transparent; border:transparent;" class="mailform_tekst" id="varenr" action="" text="text">';
     

        echo $varenr;

   
echo 'Pris i alt: ' . $row_rsPris['SUM(pris)'] . ' kr.
Antal i alt: ' . $row_rsAntal['SUM(antal)'] .' stk.

Betal med Mobil Pay
På nr.: 20284473

Du kan også overføre pengene på
Reg.nr.: 3193 Kontonr.: 3205502246
      </textarea></td>
    </tr>
  <tr>
    <td width="107" valign="top" class="mailform_tekst">Besked:</td>
    <td><textarea name="besked" cols="40" rows="1" id="besked"></textarea></td>
    </tr>
  <tr>
    <td width="107" valign="top" class="mailform_tekst"><legend>
      <label for="t11">Ønskes kopi?</label>
      </legend></td>
    <td class="textfield"><legend>
      <input name="customer_copy" type="checkbox" id="t5" checked="checked" />
      <label for="t10">&nbsp;</label>
     
      &nbsp; &nbsp;</legend></td>
    </tr>
  <tr>
    <td valign="top" class="mailform_tekst">Fragt?</td>
    <td class="mailform_tekst"><label for="fragt"><strong>OBS: Fragt aftales.</strong><br />
      <br />
  <input name="submit" type="submit" style="background-image: url(../design/knap.png);border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; color:#FFF; font-weight:bold; font-size:20px" id="t10" value="Godkend " /></label>
      <label for="checkbox">
        <input name="pris" type="hidden" id="pris" value="' . $pris . '" />
        <input name="antal" type="hidden" id="antal" value="' . $antal . '" />
        <input name="tid" type="hidden" id="tid" value="' . date('G:i:s') . '" />
        <input name="dato" type="hidden" id="dato" value="' . date('Y-m-d') . '" />
        <input type="hidden" name="MM_insert" value="form" />
        <input name="vare" type="hidden" id="vare" value="' . $vare . '" />
        <input name="vare" type="hidden" id="vare" value="' . $_SERVER['REMOTE_ADDR'] . '" />
      </label></td>
    </tr>
  <tr>
    <td valign="top" class="mailform_tekst">Betalingsmetoder: </td>
    <td class="mailform_tekst">Paypal
      <input type="radio" name="paypal" id="radio" value="paypal" />
      Mobilpay
      <input type="radio" name="mobilpay" id="radio2" value="mobilpay" />
      <label for="mobilpay">Bank overf&oslash;rsel
        <input type="radio" name="bank" id="radio3" value="Bankoverf&oslash;rsel" />
      </label></td>
  </tr>
</table>

</div>
<legend>

<!-- n?ste input skjules med css for almindelige brugere, kun spambotter ser (og udfylder sandsynligvis) feltet -->

<span class="ikkese">
<label for="t7">Subject:</label>
<input id="t7" type="text" name="subject" />
</span><br />
</legend>
</form>
      <span class="mailform_tekst">N&aring;r betalingen er overf&oslash;rt vil din ordre behandles.<strong>&nbsp;HUSK at skrive Adresse eller tlf. nr. Hvis du overf&oslash;re pengene.</strong></span><br /></td>
    <td width="164" align="center" class="overskrift">';
}}


Med venlig hilsen
Morten
Avatar billede olsensweb.dk Ekspert
22. november 2015 - 13:39 #1
får du nogle fejl ??
hvis ikke har du slået error reporting til (gør det)

ref
   
if ($stmt = $hellestrik->prepare('SELECT `brugerid`, `mainid`, `privat`, `prisid`, `billede`, `vare`, `pris`, `fastpris`, `antal`, `navn`, `efternavn`, `adresse`, `postnr`, `bynavn`, `kontaktnr`, `email`, `fragt`, `flerevare`, `betalt`, `vareid`, `allevare`, `dato`, `tid`, `datetime`, `varenr` FROM `brugervareoversigt` WHERE prisid = '. $_GET['prisid'])) {
    /* Bind parametre */
    $stmt->bind_param('iissssssisssissssssissssi', $id);
    /* Sæt værdier på parametrene */
    $id = $_POST['prisid'];

hvor mange spørgsmåls tegn har du i din select ?? ( svar 0 )
hvor mange parameter skal du binde (bind_param) ?? ( svar 0)
Avatar billede Morten Professor
22. november 2015 - 15:26 #2
Har lavet den om til


/* Bind parametre */
    $stmt->bind_param('i', $id);

    /* Sæt værdier på parametrene */
    $id = $_POST['prisid'];

    /* Eksekver forespørgslen */
    $stmt->execute();


Har slået den til, der kommer ikke nogen fejlmeddelelser frem.
Avatar billede Morten Professor
22. november 2015 - 16:12 #3
$stmt->bind_param('s', $id);

    /* Sæt værdier på parametrene */
    $id = $_POST['prisid'];

    /* Eksekver forespørgslen */
    $stmt->execute();

hjalp heller ikke
Avatar billede olsensweb.dk Ekspert
22. november 2015 - 16:17 #4
har du også rettet
WHERE prisid = '. $_GET['prisid'])) {
til
WHERE prisid = ?')) {
   
hvordan kan du både poste og get'e din prisid
$id = $_POST['prisid'];
$_GET['prisid']   

er prisid et heltal ??
$stmt->bind_param('i', $id);
/* Sæt værdier på parametrene */
$id = $_POST['prisid'];
svaret du lige på
>$stmt->bind_param('s', $id);

hvor er disse definered
echo 'Pris i alt: ' . $row_rsPris['SUM(pris)'] . ' kr.
Antal i alt: ' . $row_rsAntal['SUM(antal)'] .' stk.

bliver dit sql statement i det hele taget udført ??
ret
$stmt->execute();
til
$status = $stmt->execute();
echo $status; // test true/false

set en else på din if ($stmt = $hellestrik->prepare('
Avatar billede olsensweb.dk Ekspert
22. november 2015 - 16:21 #5
prøv at kigge på
http://php.net/manual/en/mysqli-stmt.num-rows.php
så kan du se hvor mange rækker du har
Avatar billede Morten Professor
22. november 2015 - 16:23 #6

Det virker fint sådan:
if ($stmt = $hellestrik->prepare('SELECT `brugerid`, `mainid`, `privat`, `prisid`, `billede`, `vare`, `pris`, `fastpris`, `antal`, `navn`, `efternavn`, `adresse`, `postnr`, `bynavn`, `kontaktnr`, `email`, `fragt`, `flerevare`, `betalt`, `vareid`, `allevare`, `dato`, `tid`, `datetime`, `varenr` FROM `brugervareoversigt`

Så kan ikke se hvad der skulle være galt med con.
Det er så bare ikke helt op i min ip. så kommer alle sammen bare.

Har også prøvet med
if ($stmt = $hellestrik->prepare('SELECT `brugerid`, `mainid`, `privat`, `prisid`, `billede`, `vare`, `pris`, `fastpris`, `antal`, `navn`, `efternavn`, `adresse`, `postnr`, `bynavn`, `kontaktnr`, `email`, `fragt`, `flerevare`, `betalt`, `vareid`, `allevare`, `dato`, `tid`, `datetime`, `varenr` FROM `brugervareoversigt` WHERE prisid = ?'

Virker heller ikke.
Avatar billede Morten Professor
22. november 2015 - 16:29 #7
Har prøvet sådan:


/* Bind parametre */
    $stmt->bind_param('s', $id);

    /* Sæt værdier på parametrene */
    $id = $_POST['prisid'];

    /* Eksekver forespørgslen */
    $stmt->execute();
   
/* store result */
    $stmt->store_result();

    printf("Number of rows: %d.\n", $stmt->num_rows);
    /* Bind resultatet */
    $stmt->bind_result($brugerid, $mainid, $privat, $prisid, $billede, $vare, $pris, $fastpris, $antal, $navn, $efternavn, $adresse, $postnr, $bynavn, $kontaktnr, $email, $fragt, $flerevare, $betalt, $vareid, $allevare, $dato, $tid, $datetime, $varenr);

Avatar billede Morten Professor
22. november 2015 - 16:33 #8
Der sker bare ikke noget
Avatar billede Morten Professor
22. november 2015 - 16:34 #9
Og har noget på databasen
Avatar billede olsensweb.dk Ekspert
22. november 2015 - 16:38 #10
har du prøvet at echo din $id ??
>Har også prøvet med
>if ($stmt = $hellestrik->prepare('SELECT `brugerid`, `mainid`, `privat`, `prisid`, `billede`, `vare`, `pris`, `fastpris`, `antal`, `navn`, `efternavn`, `adresse`, `postnr`, `bynavn`, `kontaktnr`, `email`, `fragt`, `flerevare`, `betalt`, `vareid`, `allevare`, `dato`, `tid`, `datetime`, `varenr` FROM `brugervareoversigt` WHERE prisid = ?'

   
/* Bind parametre */
$stmt->bind_param('s', $id);
/* Sæt værdier på parametrene */
$id = $_POST['prisid']; // skal måske være  $id = $_GET['prisid'];
echo $id;
Avatar billede Morten Professor
22. november 2015 - 18:51 #11
Sådan så virker det, havde prøvet det før men garanteret uden at fået ændret til "?"

Nu virker det i hvert fald :o)

Mange tak ronols.
Du må meget gerne sende et svar. ;o)

Kom frem til:

if ($stmt = $hellestrik->prepare('SELECT `brugerid`, `mainid`, `privat`, `prisid`, `billede`, `vare`, `pris`, `fastpris`, `antal`, `navn`, `efternavn`, `adresse`, `postnr`, `bynavn`, `kontaktnr`, `email`, `fragt`, `flerevare`, `betalt`, `vareid`, `allevare`, `dato`, `tid`, `datetime`, `varenr` FROM `brugervareoversigt` WHERE prisid = ?')) {

    /* Bind parametre */
    $stmt->bind_param('s', $id);

    /* Sæt værdier på parametrene */
    $id = $_GET['prisid'];


Med venlig hilsen
Morten
Avatar billede olsensweb.dk Ekspert
22. november 2015 - 19:17 #12
får du her
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester