PHP:MySQL数据库没有返回行吗?
使用InnoDB引擎从MySql数据库检索行时遇到问题。首先,我准备了大约50个随机字母输入,每个输入几千字节:PHP:MySQL数据库没有返回行吗?,php,python,mysql,Php,Python,Mysql,使用InnoDB引擎从MySql数据库检索行时遇到问题。首先,我准备了大约50个随机字母输入,每个输入几千字节: inputs <- generate(50, 2048) 发布后,我立即尝试查询插入的最后一行,带有 def检查(cnc,项目): 但查询时不返回任何行。为什么会发生这种情况?表单处理程序使用PDO对象和准备好的语句。是否有一种方法(在PHP中)确保每个插入都提交到数据库?这是我唯一的猜测 你能查看数据库并确认里面确实有东西要返回吗?@IanAuld-Hmm…查询可能在插入之
inputs <- generate(50, 2048)
发布后,我立即尝试查询插入的最后一行,带有
def检查(cnc,项目):
但查询时不返回任何行。为什么会发生这种情况?表单处理程序使用PDO对象和准备好的语句。是否有一种方法(在PHP中)确保每个插入都提交到数据库?这是我唯一的猜测 你能查看数据库并确认里面确实有东西要返回吗?@IanAuld-Hmm…查询可能在插入之前发生。在进行查询之前,有没有一种方法可以等待(在PHP或Python中)?我不知道PHP,但在Python中,您可以
导入时间
,然后时间。睡眠(时间以秒为单位)
仍然不起作用。PDO/准备好的请求是否自动提交?我想为每个插入提交。您应该能够在任何时候打开数据库,并查看其中的内容。难道PHPAdmin不允许你这么做吗?
def send_over(item):
try:
payload = {'variable': item}
r = requests.post("http://localhost/handler.php", data=payload, timeout=1.000)
if not r:
print("warning: could not post")
print("\t", item)
print()
return False
except requests.exceptions.Timeout:
print("Timeout. Could not post")
print("\t", item)
print()
return False
return True
# "cnc" is a tuple that contains a connection (cnx) and cursor object
# This is from the Python/connector module.
cnx, cursor = cnc
if not cnx or not cursor:
print("Problem connecting to database")
return False
# get last row
query = ("select * from table order by primary_key desc")
# compare database entry with posted data
cursor.execute(query)
for (primary_key, what) in cursor:
if what != item:
print("FAIL: data mismatch")
return False
return True