Warning: mysqli_error() expects exactly 1 parameter, 0 given in

Status
Niet open voor verdere reacties.

Frenske123

Terugkerende gebruiker
Lid geworden
2 jul 2007
Berichten
1.260
Hallo

Blijf maar melding krijgen:
Warning: mysqli_error() expects exactly 1 parameter, 0 given in
gaat om
PHP:
$query = mysqli_query($conn, $query_upload)
or die("error in $query_upload == ----> ".mysqli_error());	
}

Heb ik van https://www.onlinebuff.com/article_...image-and-store-in-database-using-php_40.html
(helaas geen max. file size)
wou wel eens weten hoe een en ander in werk ging. omgezet naar MysqlI

Iemand een idee

PHP:
error_reporting(E_ALL);
ini_set('display_errors', '1');
	$serverName = "localhost";
	$userName = "xxx";
	$userPassword = "xxx";
	$dbName = "xxx";
	$conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);


    function GetImageExtension($imagetype)
   	 {
       if(empty($imagetype)) return false;
       switch($imagetype)
       {
           case 'image/bmp': return '.bmp';
           case 'image/gif': return '.gif';
           case 'image/jpeg': return '.jpg';
           case 'image/png': return '.png';
           default: return false;
       }
     }
	  
if (!empty($_FILES["uploadedimage"]["name"])) {

	$file_name=$_FILES["uploadedimage"]["name"];
	$temp_name=$_FILES["uploadedimage"]["tmp_name"];
	$imgtype=$_FILES["uploadedimage"]["type"];
	$ext= GetImageExtension($imgtype);
	$imagename=date("d-m-Y")."-".time().$ext;
	$target_path = "images/".$imagename;
	

if(move_uploaded_file($temp_name, $target_path)) {
$query_upload = "INSERT into 'images_tbl' ('images_path','submission_date')
	 VALUES 
('".$target_path."','".date("Y-m-d")."')";

$query = mysqli_query($conn, $query_upload)
or die("error in $query_upload == ----> ".mysqli_error());	
}    
	 else{

   exit("Error While uploading image on the server");
} 

}



Sql
Code:
CREATE TABLE images_tbl(
   images_id INT NOT NULL AUTO_INCREMENT,
   images_path VARCHAR(200) NOT NULL,
   submission_date DATE,
   PRIMARY KEY (images_id)
);
 
Laatst bewerkt:
Laten we het eens debuggen:

Warning: mysqli_error() expects exactly 1 parameter, 0 given

Vertaald is dat dus:
Waarschuwing: mysqli_error () verwacht exact 1 parameter, 0 gegeven

En dan kijken we naar https://php.net/mysqli_error

Daar staat bij de beschrijving deze parameter:
Link
Procedural style only: A link identifier returned by mysqli_connect() or mysqli_init()

Nu is hopelijk wel duidelijk wat er loos is ;)
 
Bedankt maar zegt me niks , ben waarschijnlijk meerdere stylen door elkaar aan het gebruiken?
 
Je mist je connectie_variabele in je mysqli_error(.....).

Ik heb zelf niks gezegd over stijlen.
Los van dit alles kan je stijlen (procedureel vs. object-oriënted) gewoon mixxen, maar dat is verwarrend.

PS: Als je nieuw met PHP bent, doe dan even een basiscursusje :)
 
Laatst bewerkt:
PHP:
	mysqli_query($conn, $sql)  or die("error in $sql  == ----> ".mysqli_error($conn));[PHP]
[/PHP]

Waren mijn woorden : style

Kom nog niet verder .....
 
Laatst bewerkt:
Klopt, maar los van dit alles zou ik die() eigenlijk niet aanraden. Wij gaan toch ook niet dood als we iets fout doen? ;)

Handel het netjes af met if-else.

Edit:
Je hebt de oplossing toch al?
Waar loop je dan nog op vast?
 
Laatst bewerkt:
Krijg ik deze

error in INSERT into `images_tbl` ('images_path','submission_date') VALUES ('images/24-03-2019-1553449007.png','2019-03-24') == ----> You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''images_path','submission_date') VALUES ('images/24-03-2019-1553449007.png','' at line 1
 
Dat is wat anders en dus de volgende stap.
Zet eens GEEN quotes om je velden images_path en submission_date.
 
Laatst bewerkt:
Beste PHP4u

Bedankt voor je hulp , het werkt nu , heb je nog aanbevelingen ..> graag
 
- Geen die() maar if-else statement
- Datum door MySQL in laten vullen via een datetime veldtype. Met NOW() in je query kan je de huidige tijd/datum invoegen.
 
Ja Met Die loopt het letterlijk dood en weet je op dat moment ook niks ....

Is een optie met now.

Ik zou nog willen zien dat de file een Max, bestandsgroten heeft moet ik naar kijken

PHP:
$maxFileSize = 2 * 10e6; // in bytes
	if ($uploadedimage['size'] > $maxFileSize).....
 
Ja, dat kan op die manier.
 
Dit is in het formulier

HTML:
<input name="uploadedimage" type="file">

Gaat Via $_FILES naar pagina met code zoals in 1e post aanbgegeven.

Ik krijg alleen geen uitvoer )testje)

$image = $_FILES['uploadedimage'];
echo '$image';

er wordt $image geprint

al bedenk ik me nu dat we over een afbeelding praten.
 
Laatst bewerkt:
Kom a.u.b met meer relevante code aan...
Tussen ' en ' worden variabelen niet uitgevoerd.
 
Kom a.u.b met meer relevante code aan...


Het formulier , gaat dus naar saveimage.php code van mijn 1e post

HTML:
<form action="saveimage.php" enctype="multipart/form-data" method="post">

<table style="border-collapse: collapse; font: 12px Tahoma;" border="1" cellspacing="5" cellpadding="5">
<tbody><tr>
<td>
<input name="uploadedimage" type="file">
</td>

</tr>

<tr>
<td>
<input name="Upload Now" type="submit" value="Upload Image">
</td>
</tr>


</tbody></table>

</form>
---------------------
Tussen ' en ' worden variabelen niet uitgevoerd.
dan krijg ik melding
Array to string conversion in....
 
Laatst bewerkt:
Dan doe je wat fout....
Maar $xxx ( wat een naam) is een array, dus die kan je niet zomaar echoen.
 
Ik begrijp dat ik wat fout doe , verbetering;

PHP:
if ($_FILES["uploadedimage"]["size"] > 1200000)....
 
dat werkt wel :)
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan