不久前开始使用PDO准备好的语句,据我所知,它可以为您完成所有的转义/安全性.
例如,假设$ _POST ['title']是一个表单字段.
$title = $_POST['title'];
$query = "insert into blog(userID, title) values (?, ?)"
$st = $sql->prepare($query);
$st->bindParam(1, $_SESSION['user']['userID'], PDO::PARAM_INT);
$st->bindParam(2, $title);
$st->execute();
Run Code Online (Sandbox Code Playgroud)
这真的很安全吗?我还要做别的吗?还有什么需要考虑的?
谢谢.
如果我有一个网站,用户可以上传任意数量的图像(想想像photobucket一样),设置文件存储的最佳方法是什么(同样,所有上传都有一个独特的随机时间戳)?
site root
--username
----image1.jpg
----image2.jpg
----image3.jpg
--anotheruser
----image1.jpg
----image2.jpg
----image3.jpg
...
Run Code Online (Sandbox Code Playgroud)
要么
siteroot
--uploads
----image1.jpg
----image2.jpg
----image3.jpg
----image4.jpg
----image6.jpg
...
----image50000.jpg
Run Code Online (Sandbox Code Playgroud)
我认为第一种方法更有条理.但我认为第二种方法是标准的(保持所有上传在同一个目录),但我想知道如果在同一目录中有成千上万的图像检索图像会是否会更慢
---编辑---
感谢到目前为止的伟大答案.此外,我将创建缩略图,所以我也必须在某处插入该目录... 或者,创建一个命名约定,如thumb_whatever.jpg.
这么多不同的方法.是的磁盘空间将是一个问题.但是现在我关心的是检索时间.当我必须将图像输出到浏览器时,如果该图像位于包含10,000个其他图像的目录中,我担心会有多慢.
好的.我在这里构建了一个mysql查询浏览器,比如navicat.使用MySQLdb执行查询.
这是奇怪的部分.当我通过程序运行查询(使用MySQLdb)时,它给了我成功,受影响的行= 1,但是当我在phpmyadmin中查看它时,值没有改变.
所以在我执行查询之前,我将其打印出来,复制并粘贴到phpmyadmin的查询窗口中,点击go即可.长话短说,更新查询不起作用,但当我复制并粘贴到phpmyadmin时,它的工作原理.
self.tbl.sql.use(self.tbl.database) # switches to correct database. I've printed this and it uses the corrected db
if self.tbl.sql.execute(query) == True:
print sql_obj.rows_affected() # returns 1 (since i only do 1 query)
Run Code Online (Sandbox Code Playgroud)
这是SQL类的一部分
def execute(self, query):
try:
self.cursor.execute(query)
return True
except MySQLdb.ProgrammingError as error:
print "---->SQL Error: %s" % error
return False
except MySQLdb.IntegrityError as e:
print "--->SQL Error: %s" % e
return False
Run Code Online (Sandbox Code Playgroud)
那么任何想法可能会发生什么?
当您开始一个新项目时,您如何计划它或需要多长时间?
伪?流程图?
你是否试着提前考虑所有课程?
TBH,我从不计划任何事情.当我遇到问题时,我会直截了当地思考解决方案.主要是因为我提前几次尝试计划,我总是会忘记一些重要的事情,因此规划的逻辑将是有缺陷的.
我有以下内容:
config = ConfigParser()
config.read('connections.cfg')
sections = config.sections()
Run Code Online (Sandbox Code Playgroud)
如何关闭打开的文件config.read?
就我而言,随着新的部分/数据被添加到config.cfg文件中,我更新了我的wxtree小部件.但是,它只更新一次,我怀疑是因为config.read保持文件打开.
虽然我们在这里,但ConfigParser和之间的主要区别是RawConfigParser什么?
我有一个字符串,例如:
s = "this is a string, a"
Run Code Online (Sandbox Code Playgroud)
其中','(逗号)将始终是第3个到最后一个字符,aka s[-3].
我正在考虑删除','的方法,但只能想到将字符串转换为列表,删除它,并将其转换回字符串.然而,对于简单的任务来说,这似乎有点太多了.
我怎样才能以更简单的方式实现这一目标?
当Skype等程序将视频从用户传输到另一个用户,反之亦然时,通常如何实现呢?
客户端A是否流向服务器,服务器是否将其发送给客户端B?
还是直接从客户A到B?
如果我离开的话,请随意纠正我,但没有一个是正确的.
据我所知,链表的概念是一堆对象,它们通过"下一个",有时是"前一个"属性来遍历对象.
我注意到在Java中,您可以创建一个LinkedList对象...但是使用相同的方法(如.add(),. get()等)将其视为数组/列表/序列.
那么,LinkedList内部是一个类似数组的序列吗?
在linux中,如何确定默认的文本编辑器,终端等?
是否因发行版而异?
我跑过这个真值表生成器站点,并试图用PHP模仿它(我意识到源代码是可用的,但我知道0 perl).
现在我的问题不是评估表达式,而是如何输出表格,以便显示变量的T和F的每个组合
例如,对于3个变量,表格看起来像这样:
a | b | c
-----------
T | T | T
T | T | F
T | F | T
T | F | F
F | T | T
F | T | F
F | F | T
F | F | F
Run Code Online (Sandbox Code Playgroud)
并有4个变量..
a | b | c | d
-------------
T | T | T | T
T | T | T | F
T | T …Run Code Online (Sandbox Code Playgroud) python ×4
mysql ×2
php ×2
configparser ×1
file-upload ×1
flowchart ×1
java ×1
linked-list ×1
linux ×1
pdo ×1
pseudocode ×1
security ×1
shell ×1
skype ×1
stream ×1
structure ×1
truthtable ×1