Ik heb onderstaand script omgezet van mysql naar sqlsrv, hier gaat het fout, het script in mysql werkte!
Het script is voor het aanmaken van een gebruiker en controleert of er een bestaande gebruiker is.
De volgende foutmelding krijg ik: sqlsrv_fetch_array() expects parameter 2 to be long, string given in .... on line 13.
line 13 is onstaand gedeelte:
$userchecker = sqlsrv_fetch_array($stmt, sqlsrv_fetch_assoc);hieronder het sql gedeelte van het script:
<?php
error_reporting(E_ALL & ~E_NOTICE);
session_start();
include'../connectdb.php';
if(isset($_GET['add'])) {
echo $_POST['gebruikersnaam'];
if (isset($_POST['voegtoe'])) {
if($_POST['gebruikersnaam'] && $_POST['wachtwoord'] && $_POST['hwachtwoord']){
$usernamecheck = "SELECT * FROM Customer WHERE EMail='$_POST[gebruikersnaam]'";
$stmt = sqlsrv_query( $dbhandle, $usernamecheck );
$userchecker = sqlsrv_fetch_array($stmt, sqlsrv_fetch_assoc);
if ($_POST['gebruikersnaam'] != $userchecker['gebruikersnaam']){
if ($_POST['wachtwoord']==$_POST['hwachtwoord']){
$passwordHash = sha1 ($_POST['wachtwoord']);
$query = "INSERT INTO Customer (CustomerID, CustomerNo, CustomerName, CurrencyID, EMail, Password, Rechten)
VALUES((SELECT NextCustomerID FROM CustCtl), (SELECT NextCustomerNo FROM CustCtl), '$_POST[naam]',
1, '$_POST[gebruikersnaam]', '$passwordHash', 2)";
if (!($result = @ sqlsrv_query($query, $dbhandle))) {
die( print_r( sqlsrv_errors(), true) );
}
}
else {
echo "De opgegeven wachtwoorden komen niet overeen";
}
}
else{
echo "Het opgegeven gebruikersnaam bestaat al!";
}
}
else {
echo "Vul alle velden in!";
}
?>
Alvast bedankt voor de oplossing :)