11. juli 2021 - 13:01
Der er
4 kommentarer
variable into DB
hey
fandt noget kode på nettet og det virker men skal lige have det moddet lidt
---------DB1.php start-------
<?php
$servername = XXXXXXXXXX;
$username = XXXXXXXXXX;
$password = "XXXXXXXXXX;
$dbname = XXXXXXXXXX;
$mysqli = mysqli_connect($servername, $username, $password, $dbname);
if (mysqli_connect_errno())
echo "Failed to connect: " . mysqli_connect_errno();
else
echo "connection ready";
function performQuery($sql) {
global $mysqli;
$result = mysqli_query($mysqli, $sql);
if ( $result ) {
return $result;
} else {
echo "Noget gik galt!";
return null;
}
}
?>
---------DB1.php stut-------
---------updater.php start-------
<?php
require_once 'db1.php';
performQuery("INSERT INTO brom(ip, dato, tid) VALUES ('8.8.8.9', 123456, 43)");
?>
---------DB1.php stut-------
koden som den er virker men kan ikke finde ud at lave det om til variabler så tabel, ip, dato og tid er variabler
Hej, jeg bruger dette , men der er måske andre og bedre måder at gøre det på.
$individuel=hent_indivi($mysqli,$indivi,$aar,0,$data1,$ident);
Function hent_indivi($mysqli,$tabel_navn,$aar,$tabel,$ident)
{$data=[];
if(!($stmt=$mysqli->prepare('SELECT * FROM `'.$tabel_navn.'` WHERE aar =? && tabel=? && ident = ?')))
{ echo "<br>Prepare failed i HENT_INDIVI START_SQL<br>:(".$mysqli->errno.")" .$mysqli->error;}
$stmt->bind_param('iis',$aar,$tabel,$ident);
if(!$stmt->execute())
{ echo "<br>execute failed i HENT_INDIVI START_SQL:(".$mysqli->errno.")" .$mysqli->error;}
if(!($res = $stmt->get_result()))
{ echo "<br>Getting result set failed i HENT_INDIVI START_SQL:(".$mysqli->errno.")" .$mysqli->error;}
while ($row = mysqli_fetch_array($res))
{ $data['aar']=$row['aar'];
$data['bruger']=$row['bruger'];
$data['gruppe']=$row['gruppe'];
$data['tabel']=$row['tabel'];
$data['5']=$row['col1'];
$data['gift']=$row['col2'];
$data['kirke1']=$row['col3'];
$data['over1']=$row['col4'];
$data['9']=$row['col5'];
$data['kirke2']=$row['col6'];
$data['over2']=$row['col7'];
$data['kommune']=$row['col8'];
$data['kirke']=$row['col9'];
$data['tom']=$row['tom'];
$data['ident']=$row['ident'];
}
return $data;//$stmt->close();
}//funktion slut
Thomas V
Hej, her er så kald af function med variabler:
$mysqli = mysqli_connect($server, $brugernavn, $kode, $db);
// Tjek, om der opstod en fejl
if (!$mysqli)
{ echo"<br> connektion failed";
}
indsaet_data( $mysqli,$budget,$ind_dato, $tekst, $indtaegt, $udgift,0, $matrix);
function indsaet_data($mysqli,$budget,$dato,$tekst,$indtaegt,$udgift,$check,$matrix)
{ global $mysqli;
if($stmt=$mysqli->prepare('INSERT INTO `'.$budget.'`(dato,tekst,indtaegt,udgift,tjek,oprettet) VALUES (?,?,?,?,?,?) '))
{ $stmt->bind_param('ssddss',$dato,$tekst,$indtaegt,$udgift,$check,$matrix);// 'si',$oprettet,$id)
if($stmt->execute())
{ $stmt->close();
}
else
{ die($stmt->error);
}
}
else
{
die($mysqli->error);
}
} //Funktion slut
Thomas V
Pointen er at der skal bruges prepare, placerholders og bind_param.
Det må der være en million eksempler og ti tusing tutorials på nettet med.
( inkl. mine
https://www.vajhoej.dk/arne/articles/phpdb.html#mysqli )
Det eksempel du har fundet på nettet ser ikke godt ud.
ikke prepare og parameters => dårligt eksempel
brug af global => dårlig PHP stil
brug af echo i kode stump som skal kunne inkluderes mange steder => dårligt
Synes godt om
1 synes godt om dette