Bonjour.

J'ai essayé de modifier ce vieux Code basé sur MYSQL QUERY (obsolète) ci-après:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function Withdraw($pin,$phone,$accNo,$amt){
 
$sql= "SELECT * FROM  accountDetails where mobile=$phone";
$result = mysql_query($sql);
$Type = "withdraw";
$insertbal = "insert into Activities(accountNo,pin,Amt,activityType) values ('$accNo','$pin',$amt *-1,'$Type')";
 
$sqlupdate = "UPDATE accountDetails set balance = balance-$amt where mobile='$phone'";
if(mysql_query($insertbal)){
       mysql_query($sqlupdate);
 
 return "You have withdrawn. ".$amt." from your account";
 }
 else
    {
        return "Sorry, Cant withdraw";
 
 }
}
CI-DESSOUS CE QUE J'AI MODIFIER En MYSQL PDO:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
34
35
function Withdraw($pin,$phone,$accNo,$amt){
 
global $bdd;
 
$sql= "SELECT * FROM  accountDetails where mobile=:phone";
$stmtSelect = $bdd->prepare($sql);
$result = $stmtSelect->execute([':phone' => $phone]); 
$Type = "withdraw";
 
$stmtInsert = "INSERT INTO Activities(accountNo,pin,Amt,activityType) values (':accNo',':pin',:amt *-1,':Type')";
$stmtInserto = $bdd->prepare($stmtInsert);
$insertbal = $stmtInserto->execute([
	':phone' => $phone,
	':pin' => $phone,
	':amt *-1' => $amt *-1,
	':Type' => $Type
]);
 
$sqlupdate = "UPDATE accountDetails SET balance = balance-:amt WHERE mobile=:phone";
$stmtUpdate = $bdd->prepare($sqlupdate);
 
if($insertbal){
       $sqlupdate = $stmtUpdate->execute([
			':amt' => $amt,
			':phone' => $phone
		]); 
 
 return "You have withdrawn. ".$amt." from your account";
 }
 else
	{
		return "Sorry, Cant withdraw";
 
 }
}
Aidez-moi à corriger mon Code ci-après surtout au niveau des lignes 10 (je me demande si :amt *-1 de la VALUES de la requête d'insertion ???) et 19 (et là si :amt qui devait normalement être soustraire de la Balance lors du UPDATE est correcte ???).

Merci d'avance.