• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Prüf Formular.

Oki gut.
Ich werde mich daran halten und nun hier weiter fahren.

Würdest du dann vorschlagen content den ich in anderen foren finde denn mir hier nützlich erscheint einfach zu verlinken?
 
Werbung:
Werbung:
Hast du zwischenzeitig schon was am Code geändert ?
Wie sieht der jetzt aus ?
Hast du die Zeile schon geändert?
PHP:
 $absenden->bind_param('iisssssssss',$seriennummer,$object,$user,$creator,$innenJpg,$obenJpg,$steckerJpg,$seriennummerJpg,$deckelJpg);
oder die
PHP:
$absenden = $db->prepare("INSERT INTO `kontrolliert`(`id`, `seriennummer`, `type`, `kontrolliert`, `gebaut`, `Innen-Bild`, `Oben-Bild`, `Stecker-Bild`, `Seriennummer-Bild`, `Oben-mit-Stecker-Bild`, `datum`) VALUES ([value-1],[value-2],[value-3],[value-4],[value-5],[value-6],[value-7],[value-8],[value-9],[value-10],[value-11])");

Ich bin mir gerade nicht sicher , aber [value-1] ist glaube ich kein erlaubter( ich sage mal Platzhalter ) dafür.



Hay ich habe etwas gearbeitet.

Ich habe versucht die die mysql datenbank umzugestalten das keine Grossbuchstaben - etc mehr vorkommen und da stellte sich mir die frage wie würdet ihr sie aussehen lassen bzw was sollte ich anderst machen?


Unbenannt.PNG

anschliessend habe ich die values rausgeschmissen und das ganze sieht nun so aus:

PHP:
$absenden = $db->prepare("INSERT INTO `kontrolliert`(`id`, `seriennummer`, `type`, `kontrolliert`, `gebaut`, `innen`, `oben`, `stecker`, `snummer`, `obensäckli`, `datum`) Values (?,?,?,?,?,?,?,?,?,?,NOW())");
    $absenden->bind_param('iisssssss',$seriennummer,$object,$user,$creator,$innenJpg,$obenJpg,$steckerJpg,$seriennummerJpg,$deckelJpg);
    

    $absenden->execute();


Jedoch bekomme ich so diesen Fehler:

Number of variables doesn't match number of parameters in prepared statement


Verstehe ich das richtig das die anzahl der von mir definierten Variablen die hier:

PHP:
$absenden = $db->prepare("INSERT INTO `kontrolliert`(`id`, `seriennummer`, `type`, `kontrolliert`, `gebaut`, `innen`, `oben`, `stecker`, `snummer`, `obensäckli`, `datum`) Values (?,?,?,?,?,?,?,?,?,?,NOW())");

Anzahl mässig nicht mit dem hier überein stimmt? :

Code:
'iisssssss'


Wen Ja ich weiss nicht ob ich zu dumm zum zählen bin aber das müsste doch so aufgehen oder nicht?


MFG
 
Ich habe versucht die die mysql datenbank umzugestalten das keine Grossbuchstaben - etc mehr vorkommen und da stellte sich mir die frage wie würdet ihr sie aussehen lassen bzw was sollte ich anderst machen?
Ich würde als Spaltentype den Typ nehmen (auch von der Größe her) der zum Inhalt passt - deine Seriennummer z.B. wird wohl kaum 16MB haben, oder? Bei den Spaltennamen dann ggf. noch Umlaute weglassen oder sogar englische Begriffe verwenden. Und ganz wichtig: verwende kein latin sondern immer und überall utf8!

Wen Ja ich weiss nicht ob ich zu dumm zum zählen bin aber das müsste doch so aufgehen oder nicht?
Nein, das geht nicht auf, es sind 10 Fragezeichen, aber nur 9 Parameter.
 
Werbung:
Hay hab mir die zeit genommen und es deinen Vorschlägen entsprechend angepasst.

NEU:
PHP:
    $db = new mysqli('localhost','root','','protokol');
    
    if($db->connect_error):
        echo 'Verbindung Fehlgeschlagen';
    endif;
    
if (!mysqli_query($db, "SET a=1")) {
    printf("Error message: %s\n", mysqli_error($db));
}

und die daten bank:

[ATTACH type="full"]5503[/ATTACH]
    
    if(isset($_POST['submit'])):
        $seriennummer         = $_POST['Serial-number-Text'];
        $object             = $_POST['Object'];
        $user                 = $_POST['User'];
        $creator             = $_POST['Creator'];
        $innenJpg            = "images/".$object."/".$seriennummer."-Innen.jpg";
        $obenJpg            = "images/".$object."/".$seriennummer."-oben.jpg";
        $steckerJpg            = "images/".$object."/".$seriennummer."-stecker.jpg";
        $seriennummerJpg    = "images/".$object."/".$seriennummer."-seriennummer.jpg";
        $deckelJpg            = "images/".$object."/".$seriennummer."-deckel.jpg";
    //Bilder Upload
        move_uploaded_file($_FILES["inside-Img"]["tmp_name"], "images/".$seriennummer."-Innen.jpg");
        move_uploaded_file($_FILES["top-Img"]["tmp_name"], "images/".$seriennummer."-Oben.jpg");
        move_uploaded_file($_FILES["plug-legend-img"]["tmp_name"], "images/".$seriennummer."-Stecker.jpg");
        move_uploaded_file($_FILES["Serial-number-Img"]["tmp_name"], "images/".$seriennummer."-Seriennummer.jpg");
        move_uploaded_file($_FILES["Top-Bag-img"]["tmp_name"], "images/".$seriennummer."-Oben-mit-Stecker.jpg");
    //Absenden
    $absenden = $db->prepare("INSERT INTO `kontrolliert`(`id`, `serialnumber`, `type`, `controller`, `build`, `inside`, `top`, `stickr`, `snumber`, `topbag`, `date`) Values (?,?,?,?,?,?,?,?,?,NOW())");
    $absenden->bind_param('iisssssss',$seriennummer,$object,$user,$creator,$innenJpg,$obenJpg,$steckerJpg,$seriennummerJpg,$deckelJpg);
    

    $absenden->execute();
        
    endif;



Nun erhalte ich dafür nun wieder diesen error:

Fatal error: Uncaught Error: Call to a member function bind_param() on boolean in C:\xampp\htdocs\taru\pages\test.php:101 Stack trace: #0 C:\xampp\htdocs\taru\index.php(11): require_once() #1 {main} thrown in
 

Anhänge

  • Unbenannt.PNG
    Unbenannt.PNG
    62,8 KB · Aufrufe: 6
Hay hab mir die zeit genommen und es deinen Vorschlägen entsprechend angepasst.
Naja, nicht wirklich: in das Feld für die Seriennummer passen immer noch 16MB rein …
PHP:
$db = new mysqli('localhost','root','','protokol'); […]
if (!mysqli_query($db, "SET a=1")) {
    printf("Error message: %s\n", mysqli_error($db));
}
Entweder objektorientiert oder prozedural, aber mischen ist nicht.
PHP:
$seriennummer         = $_POST['Serial-number-Text']; […]
move_uploaded_file($_FILES["inside-Img"]["tmp_name"], "images/".$seriennummer."-Innen.jpg");
Vertraue niemals Daten die von außen kommen - die Daten in $_POST sind als gefährlich anzusehen und dürfen niemals und unter keinen Umständen einfach übernommen werden (immer Kontextwechsel beachten!). btw: die Pfade die du in die Datenbank schreibst und die an die du die Bilder verschiebst stimmen nicht überein …
PHP:
$absenden = $db->prepare("INSERT INTO `kontrolliert`(`id`, `serialnumber`, `type`, `controller`, `build`, `inside`, `top`, `stickr`, `snumber`, `topbag`, `date`) Values (?,?,?,?,?,?,?,?,?,NOW())");
Das mit dem Zählen musst du unbedingt noch üben: ich zähle hier 11 Spalten aber nur 9 Parameter plus einen festen Wert - vielleicht einfach die Spalte id weglassen?
Fatal error: Uncaught Error: Call to a member function bind_param() on boolean in […]
RTFM. Wenn prepare fehl schlägt bekommst du ein false zurück worauf sich ein bind_param natürlich nicht anwenden lässt - frage die Datenbank nach der Fehlermeldung.
 
Hay. Scheint als ob ich noch viel lernen darf haha.

Das mit dem 16mb hab ich allerdings im stress überlessen ich ändere es so gut wies geht und melde mich nochmals.

An dem mit dem ofaden bastle ich noch konnte es nochnicht mal testen ob das so überhaupt stimmt was ich geschriben habe.

Danke für die hinweise
 
Werbung:
Habe den Code Noch angepasst das die pfade stimmen:
PHP:
    $db = new mysqli('localhost','root','','protokol');
    
    if($db->connect_error):
        echo 'Verbindung Fehlgeschlagen';
    endif;
    
if (!mysqli_query($db, "SET a=1")) {
    printf("Error message: %s\n", mysqli_error($db));
}

    
    if(isset($_POST['submit'])):
        $seriennummer         = $_POST['Serial-number-Text'];
        $object             = $_POST['Object'];
        $user                 = $_POST['User'];
        $creator             = $_POST['Creator'];
        $innenJpg            = "images/".$object."/".$seriennummer."-Innen.jpg";
        $obenJpg            = "images/".$object."/".$seriennummer."-oben.jpg";
        $steckerJpg            = "images/".$object."/".$seriennummer."-stecker.jpg";
        $seriennummerJpg    = "images/".$object."/".$seriennummer."-seriennummer.jpg";
        $deckelJpg            = "images/".$object."/".$seriennummer."-deckel.jpg";
    //Bilder Upload
        move_uploaded_file($_FILES["inside-Img"]["tmp_name"], "images/".$object."/".$seriennummer."-Innen.jpg");
        move_uploaded_file($_FILES["top-Img"]["tmp_name"], "images/".$object."/".$seriennummer."-oben.jpg");
        move_uploaded_file($_FILES["plug-legend-img"]["tmp_name"], "images/".$object."/".$seriennummer."-stecker.jpg");
        move_uploaded_file($_FILES["Serial-number-Img"]["tmp_name"], "images/".$object."/".$seriennummer."-seriennummer.jpg");
        move_uploaded_file($_FILES["Top-Bag-img"]["tmp_name"], "images/".$object."/".$seriennummer."-deckel.jpg");
    //Absenden
    $absenden = $db->prepare("INSERT INTO `kontrolliert`(`serialnumber`, `type`, `controller`, `build`, `inside`, `top`, `stickr`, `snumber`, `topbag`, `date`) Values (?,?,?,?,?,?,?,?,?,NOW())");
    $absenden->bind_param('iisssssss',$seriennummer,$object,$user,$creator,$innenJpg,$obenJpg,$steckerJpg,$seriennummerJpg,$deckelJpg);
    

    $absenden->execute();
        
    endif;

Ich vermute nun mal das es nicht einfach einen neuen order generiert wen ich die dateie so uploade oder? wie mache ich das am besten? habe was gefunden mkdir heisst es glaub aber bin noch nicht fertig mit lesen.
 
Wie wäre es denn mal, wenn du nicht vermutest, sondern testest? Und so Dinge wie
aber bin noch nicht fertig mit lesen
sind nicht dein Ernst, oder?

Wir sind hier mittlerweile bei über 60 Postings zu einem Thema, zu dem es massenhaft Tutorials gibt und auch in der Doku reichlich Infos zu finden sind.
 
Werbung:
Wie wäre es denn mal, wenn du nicht vermutest, sondern testest? Und so Dinge wie

sind nicht dein Ernst, oder?

Wir sind hier mittlerweile bei über 60 Postings zu einem Thema, zu dem es massenhaft Tutorials gibt und auch in der Doku reichlich Infos zu finden sind.


Hay

1. ich teste sehr wohl. Das Problem ist nur das ich momentan kaum an dem pc kann. Das mit dem pfad ist eine idee wie ich mir das vorstellen könnte das es geht aber wie gesagt konnte ich es noch nicht testen.

2. Ist mir das bewusst und wie ich geschriben habe habe ich was gefunden und informiere mich dazu gerade, ich wollte damit aussagen das ich etwas gefunden habe und wissen wollte ob das überhaupt in die richtige richtung geht.

ich bin dankbar für eure hilfe und dass ihr zeit investiert, aber ich bin php noob und muss mir die basics erst zusammen kratzen und lernen verstehen wie das funktioniert.
will euch nicht verarschen oder so bin wirklich dankbar..


mfg
 
Bevor wir dir mit dem Upload helfen wäre es erstmal gut zu wissen ob du es mit den Datenbank Einträgen überhaupt hinbekommen hast ?
Speichert er jetzt alles in der DB?
Hast du noch Errors?

Wenn du seid den letzten DatenbankBild (post 54) nichts mehr geändert hast, kann der Code aus 61# eigentlich nicht laufen.
In das Datenbankbild habe ich noch gesehen, das eine Spalte so heißt ( obensäckli).
Da mache ich mal eine Frage raus.
Ich bin der Meinung , das Umlaute da fehl am Platz sind.
Was sagen die Profis dazu?
 
Zuletzt bearbeitet:
Werbung:
Hay ich habe die datenbank bearbeited nach den verbesserungs vorschlägen und alles auf english angepasst, die daten satz grösse muss ich noch anpassen ansonst solllte es nun stimmen. Habe dazu ein bild geposted.
Bevor wir dir mit dem Upload helfen wäre es erstmal gut zu wissen ob du es mit den Datenbank Einträgen überhaupt hinbekommen hast ?
Speichert er jetzt alles in der DB?
Hast du noch Errors?

Wenn du seid den letzten DatenbankBild (post 54) nichts mehr geändert hast, kann der Code aus 61# eigentlich nicht laufen.
In das Datenbankbild habe ich noch gesehen, das eine Spalte so heißt ( obensäckli).
Da mache ich mal eine Frage raus.
Ich bin der Meinung , das Umlaute da fehl am Platz sind.
Was sagen die Profis dazu?


Ich habe noch 1 error aber den versuche ich heute abend zu beheben. Aber eigentlich hatte es bereits funktionirt bis ich einige Spalten hinzugefügt hatte.

Ich will aber befor ich den error behebe noch anschauen was es mit dem objektiven und prozentualen auf sich hat, da habe ich anscheinend was vermischt.


Aber danke für die hilfe
 
Werbung:
Ich will aber befor ich den error behebe noch anschauen was es mit dem objektiven und prozentualen auf sich hat, da habe ich anscheinend was vermischt.
Das hat mit Prozenten herzlich wenig zu tun. :D:D:D

Und bitte mal den zweiten Teil meiner Signatur beachten.
 
Hay so sieht es im Moment aus.

PHP:
<?php

    $db = new mysqli('localhost','root','','protokol');



    if($db->connect_error):

        echo 'Verbindung Fehlgeschlagen';

    endif;



    if(isset($_POST['submit'])):

        $seriennummer         = $_POST['Serial-number-Text'];

        $object             = $_POST['Object'];

        $user                 = $_POST['User'];

        $creator             = $_POST['Creator'];



//verzeichnis generieren

        mkdir("images/$seriennummer-$object");



        $innenJpg            = "images/".$seriennummer.$object."/".$seriennummer."-Innen.jpg";

        $obenJpg            = "images/".$seriennummer.$object."/".$seriennummer."-oben.jpg";

        $steckerJpg            = "images/".$seriennummer.$object."/".$seriennummer."-stecker.jpg";

        $seriennummerJpg    = "images/".$seriennummer.$object."/".$seriennummer."-seriennummer.jpg";

        $deckelJpg            = "images/".$seriennummer.$object."/".$seriennummer."-deckel.jpg";



//Bilder Upload

        move_uploaded_file($_FILES["inside-Img"]["tmp_name"], "images/".$seriennummer-$object."/".$seriennummer."-Innen.jpg");

        move_uploaded_file($_FILES["top-Img"]["tmp_name"], "images/".$seriennummer-$object."/".$seriennummer."-oben.jpg");

        move_uploaded_file($_FILES["plug-legend-img"]["tmp_name"], "images/".$seriennummer-$object."/".$seriennummer."-stecker.jpg");

        move_uploaded_file($_FILES["Serial-number-Img"]["tmp_name"], "images/".$seriennummer-$object."/".$seriennummer."-seriennummer.jpg");

        move_uploaded_file($_FILES["Top-Bag-img"]["tmp_name"], "images/".$seriennummer-$object."/".$seriennummer."-deckel.jpg");

    //Absenden

    $absenden = $db->prepare("INSERT INTO `kontrolliert`(`serialnumber`, `type`, `controller`, `build`, `inside`, `top`, `stick`, `snumber`, `topbag`, `date`) Values (?,?,?,?,?,?,?,?,?,NOW())");

    $absenden->bind_param('iisssssss',$seriennummer,$object,$user,$creator,$innenJpg,$obenJpg,$steckerJpg,$seriennummerJpg,$deckelJpg);





    $absenden->execute();

     

    endif;


und meine errors:

Warning: A non-numeric value encountered in C:\xampp\htdocs\taru\pages\test.php on line 94

Warning
: move_uploaded_file(-51315/11111111-Innen.jpg): failed to open stream: No such file or directory in C:\xampp\htdocs\taru\pages\test.php on line 94

Warning
: move_uploaded_file(): Unable to move 'C:\xampp\tmp\php85D3.tmp' to '-51315/11111111-Innen.jpg' in C:\xampp\htdocs\taru\pages\test.php on line 94

Warning
: A non-numeric value encountered in C:\xampp\htdocs\taru\pages\test.php on line 95

Warning
: A non-numeric value encountered in C:\xampp\htdocs\taru\pages\test.php on line 96

Warning
: A non-numeric value encountered in C:\xampp\htdocs\taru\pages\test.php on line 97

Warning
: A non-numeric value encountered in C:\xampp\htdocs\taru\pages\test.php on line 98

Fatal error
: Uncaught Error: Call to a member function bind_param() on boolean in C:\xampp\htdocs\taru\pages\test.php:101 Stack trace: #0 C:\xampp\htdocs\taru\index.php(11): require_once() #1 {main} thrown in C:\xampp\htdocs\taru\pages\test.php on line 101


Ich werde jetzt schauen das ich mir die errors ausgeben kann mit dem einen link den mir jemand mal geschickt hat und mich dann wider melden
 

Anhänge

  • Unbenannt.PNG
    Unbenannt.PNG
    62,8 KB · Aufrufe: 3
Zuletzt bearbeitet:
Zurück
Oben