What's new

SQL - PHP

opodrin

Journeyman
Joined
Jul 4, 2023
Posts
23
Reaction
6
Points
17
<?php
$serverName = "192.168.1.25,1433\WPH-CRE100SVR\SQLEXPRESS";
$connectionOptions = array(
"Database" => "esp32",
"UID" => "CRE100",
"PWD" => "cre100",
);
$conn = sqlsrv_connect($serverName, $connectionOptions);
if ($conn === false) {
die(print_r(sqlsrv_errors(), true));
}
echo "Connection Success!<br>";
if (isset($_GET['Value1']) || isset($_GET['Value2'])) {
$value1 = isset($_GET['Value1']) ? $_GET['Value1'] : null;
$value2 = isset($_GET['Value2']) ? $_GET['Value2'] : null;
$sql = "INSERT INTO dbo.ESP (Value1, Value2) VALUES (?, ?)";
$params = array($value1, $value2);
$result = sqlsrv_query($conn, $sql, $params);
if ($result === false) {
echo "Error inserting data: " . print_r(sqlsrv_errors(), true);
} else {
echo "Data inserted into Value1: " . $value1 . " and Value2: " . $value2;
}
} else {
echo "Either Value1 or Value2 data must be provided in the request.";
}
sqlsrv_close($conn);
?>


Patulong naman po. Kapag nag iinsert akong data

id Value1 Value2
62 kcjyo NULL
63 mxzph NULL
64 egzfl NULL
65 NULL nycmz
66 NULL xnknw
67 NULL ctnfk


nagiging NULL yung other row na dapat mag karow sila.
 
Mayroong ilang mga isyu sa iyong script na maaaring magresulta sa mga row na nagiging NULL.

Una, tiningnan ko ang iyong SQL INSERT statement:

PHP:
$sql = "INSERT INTO dbo.ESP (Value1, Value2) VALUES (?, ?)";

Ang problema sa code na ito ay hindi ka nagtatakda ng mga column names sa iyong INSERT statement. Kaya, dapat mong ito ayusin upang tukuyin ang mga kolum na dapat mong i-insert ang mga value.

Halimbawa, kung ang 'Value1' at 'Value2' ang mga kolum na dapat mong i-insert ang mga value, ang iyong SQL statement ay maaaring maging ganito:

PHP:
$sql = "INSERT INTO dbo.ESP (Value1, Value2) VALUES (?, ?)";

Hindi rin malinaw kung paano mo tinatanggap ang mga value mula sa user. Narito ang bahagi ng code na maaaring nagdulot ng mga NULL na row:

PHP:
$value1 = isset($_GET['Value1']) ? $_GET['Value1'] : null;
$value2 = isset($_GET['Value2']) ? $_GET['Value2'] : null;

Sa bahaging ito, ginagamit mo ang isset() function upang matiyak na mayroong Value1 at Value2 na mga parameter na ipinasa sa pamamagitan ng GET request. Ngunit, kung ang mga parameter na ito ay wala o hindi ginagamit ng tama, ang mga value ay magiging NULL.

Upang masuri ang mga value na ipinasa sa GET request, maaari mong gamitin ang empty() function o iba pang pagsubok ng kondisyon upang matiyak na hindi NULL o walang laman ang mga value bago mo ito maipasa sa SQL statement.

Narito ang isang halimbawa ng paggamit ng empty() function upang masuri ang mga value:

PHP:
if (!empty($value1) || !empty($value2)) {
    // SQL INSERT statement
} else {
    echo "Either Value1 or Value2 data must be provided in the request.";
}

Sa bahaging ito ng code, ginagamit ang empty() function upang masuri kung ang $value1 at $value2 ay hindi NULL o walang laman. Kung isa man sa mga ito ay hindi NULL o walang laman, ikaw ay magpapatuloy sa SQL INSERT statement. Kung pareho ang mga value ng mga variable ay NULL o walang laman, maglalabas ka ng mensahe na nagsasabi na ang Value1 o Value2 data ay dapat na ibigay sa request.

Sana makatulong ito sa iyo na maayos ang iyong isyu sa mga NULL na row sa iyong database. Kung mayroon ka pang iba pang mga katanungan, huwag mag-atubiling magtanong.
 
check mo muna yung value1 at value 2 mo bago mo i insert or ilagay sa query. para sure ka na may value talaga sya
 
id Value1 Value2
62 kcjyo NULL
63 mxzph NULL
64 egzfl NULL
65 NULL nycmz
66 NULL xnknw
67 NULL ctnfk

meron naman po sir yung "nycmz,xnknw at ctnfk". Ang balak ko po sana kasi dapat mag karow po sila na naiinsert sa database. Kaso nagiging null po kay bumababa po yung or gumagawa po siyang bagong row .


id Value1 Value2
62 kcjyo nycmz
63 mxzph xnknw
64 egzfl ctnfk


dapat po ganyan po sana kakalabasan nya
 

Similar threads

Back
Top