Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将数据插入SQlite数据库中的特定列中?_Python_Database_List_Sqlite - Fatal编程技术网

Python 如何将数据插入SQlite数据库中的特定列中?

Python 如何将数据插入SQlite数据库中的特定列中?,python,database,list,sqlite,Python,Database,List,Sqlite,我有一个变量列表。我希望遍历列表中的每个元素,并将其添加到列的行中。但是,当我更新表并打开数据库时,列中没有显示任何内容(仅为null) 当我将列表添加到列中时,我的目标是对数据进行一些分析。我正在为学校做一个项目,其中一个组成部分是通过/不通过学生,并给他们相应的分数 我正在使用PythonIdle和SQlite数据库。 我尝试了遍历列表,并将每个值放入列的下一行。 我尝试了所有不同的语法(例如%s、(?)…) 当我清除了语法消息,并且没有发现错误时,我检查了我的数据库,但那里什么都没有。打印

我有一个变量列表。我希望遍历列表中的每个元素,并将其添加到列的行中。但是,当我更新表并打开数据库时,列中没有显示任何内容(仅为null)

当我将列表添加到列中时,我的目标是对数据进行一些分析。我正在为学校做一个项目,其中一个组成部分是通过/不通过学生,并给他们相应的分数

我正在使用PythonIdle和SQlite数据库。 我尝试了遍历列表,并将每个值放入列的下一行。 我尝试了所有不同的语法(例如%s、(?)…)


当我清除了语法消息,并且没有发现错误时,我检查了我的数据库,但那里什么都没有。

打印update语句以查看是否一切正常。将提交移到for循环之外。示例(MySql)



补充答案

Python准备的sql使用“%s”作为变量,更改为问号。 所以



应该是



使用创建、插入、更新然后选择的PHP脚本。尝试一次更新一个,然后添加另一个,等等


输入


print语句似乎有效,结果如下:更新类集百分比=(?)其中第一个=(?)(99,1)更新类集百分比=(?)其中第一个=(?)(98,2)更新类集百分比=(?)其中第一个=(?)(97,3)更新类集百分比=(?)其中第一个=(?)(96,4)更新类集百分比=(?)其中第一个=(?)(76,5)更新类集百分比=(?)其中第一个=(?)(90,6)更新类集百分比=(?)其中第一个=(?)(78,7)但它仍然没有更新数据库。请确保数据库的用户ID具有更新权限。对于Mysql,命令是:SHOW GRANTS[对于用户]
        for i, val in enumerate (b):
            c.execute("UPDATE class SET percentage = (?) WHERE first = (?)",(val,(i+1)))
            conn.commit()
for i, val in enumerate (b):
    print("UPDATE class SET percentage = (?) WHERE first = (?)",(val,(i+1))
    c.execute("UPDATE class SET percentage = (?) WHERE first = (?)",(val,(i+1)))
    conn.commit() #move to outside for loop, call commit once
 c.execute("UPDATE class SET percentage = (?) WHERE first = (?)",(val,(i+1)))
 c.execute("UPDATE class SET percentage = (%s) WHERE first = (%s)",(val,(i+1)))
<?php
$servername = "";
$username = "";
$password = "";
$dbname = "";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql[0] = "drop table classes;";
if ($conn->query($sql[0]) === TRUE) {
    echo "Script successful";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$sql[1] = "CREATE TABLE classes (class_no integer,percentage text,weekday text, date_percent date);";
if ($conn->query($sql[1]) === TRUE) {
    echo "Script successful";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$sql[2] = "INSERT INTO classes VALUES(1, '100', 'Tuesday', '2019-10-01' );";
if ($conn->query($sql[2]) === TRUE) {
    echo "Script successful";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$sql[3] = "INSERT INTO classes VALUES(2, '90', 'Wednesday', '2019-10-02' );";
if ($conn->query($sql[3]) === TRUE) {
    echo "Script successful";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}



$sql = "SELECT class_no, percentage, weekday FROM classes";
$result = $conn->query($sql);

if (mysqli_num_rows($result) > 0) {
    // output data of each row
    while($row = mysqli_fetch_assoc($result)) {
        echo "<br>Class No: " . $row["class_no"]. " Percentage: " . $row["percentage"]. " Weekday: " . $row["weekday"]."    <br><br>";
    }
} else {

    echo "0 results";
}


$sql_u = "Update classes set percentage = '100' where class_no = 2;";
if ($conn->query($sql_u) === TRUE) {
    echo "Script update successful";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}


$sql = "";
$sql = "SELECT class_no, percentage, weekday FROM classes";
$result = $conn->query($sql);

if (mysqli_num_rows($result) > 0) {
    // output data of each row
    while($row = mysqli_fetch_assoc($result)) {
        echo "<br>Class No: " . $row["class_no"]. " Percentage: " . $row["percentage"]. " Weekday: " . $row["weekday"]."    <br><br>";
    }
} else {

    echo "0 results";
}
$conn->close();
?>

output:

Script successfulScript successfulScript successfulScript successful
Class No: 1 Percentage: 100 Weekday: Tuesday 


Class No: 2 Percentage: 90 Weekday: Wednesday 

Script update successful
Class No: 1 Percentage: 100 Weekday: Tuesday 


Class No: 2 Percentage: 100 Weekday: Wednesday