Я читал эту статью: https://www.iitp.ac.in/~halder/Papers/Journal/ACSS_2016_2.pdf и на странице № 7 описываются таблица базы данных (a) loginfo и sailinfo.
Некоторые запросы пишутся
1. start;
2. Stmt = DriverManager.getConnection(” jdbc:mysql://172.16.1.16:1115/
demo”, ”scott”, ”tiger”).createStatement();
3. Resultset rs1 = Stmt.executeQuery(“SELECT eid FROM loginfo WHERE login = ' "+ slogin +" ' AND
pass = ’ ”+ spass +” ’ ” );
4. Resultset rs2 = Stmt.executeQuery(“SELECT ename FROM salinfo WHERE B sal> GP + ' "+vsal+" ' ”);
5. Resultset rs3 = Stmt.executeQuery(“SELECT ename FROM salinfo WHERE GP > ' "+ com +" ' *
’ ”+ rate +” ’ ”);
6. stop;
(b)
Я хочу построить и преобразовать запрос из таблицы (a) в запросы, как показано в таблице (b).
То, как я написал эти запросы для одного примера, выглядит следующим образом:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "thesis";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
echo "\n";
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "<br>";
echo "<br>";
// sql input table queries
echo "Output";
//$sql="SELECT loginfo.eid FROM loginfo WHERE loginfo.login = (SELECT input.u_input_1 FROM input WHERE input.QID = 6 AND input.IID_1 = 1) AND loginfo.pass = ( //SELECT input.u_input_2 FROM input WHERE input.QID = 6 AND input.IID_2 = 2);";
$sql = "SELECT eid FROM loginfo WHERE login= (SELECT u_input_1 FROM input WHERE QID = 6 AND IID_1 = 1) AND pass = (SELECT u_input_2 FROM input WHERE QID = 6 AND IID_2 = 2) ;";
echo "<br>";
echo "<br>";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "\n \n eid: " . $row["eid"]."<br>";
}
} else {
echo "0 results";
}
echo "<br>";
echo "<br>";
// sql input table queries
echo "Output";
$sql1 = "SELECT ename FROM salinfo WHERE GP > (SELECT u_input_1 FROM
INPUT WHERE QID = 10 AND IID_1 = 1);";
echo "<br>";
echo "<br>";
$result = $conn->query($sql1);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "\n \n ename: " . $row["ename"]."<br>";
}
} else {
echo "0 results";
}
echo "<br>";
echo "<br>";
// sql input table queries
echo "Output";
$sql2 = "SELECT ename FROM salinfo WHERE B_sal > GP + (SELECT u_input_1 FROM INPUT WHERE QID = 10 AND IID_1 = 1);";
echo "<br>";
echo "<br>";
$result = $conn->query($sql2);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "\n \n ename: " . $row["ename"]."<br>";
}
} else {
echo "0 results";
}
echo "<br>";
echo "<br>";
$conn->close();
?>
Эта техника, которую я показал, называется Query Re. Я хочу знать, хочу ли я реализовать это для общих запросов, это только для одного примера, что может быть лучшим способом сделать то же самое. Пожалуйста, помогите мне с этим подходом.